Remove gmx_unique_ptr from options public headers
There was a single factory function in the generic option interface that
created objects and passed ownership to the caller. The implementation
for this method always follows the same pattern, and there only a single
caller, so it is easy to make it exception-safe while returning a plain
pointer. As a side effect, it removes some boilerplate code from all
the implementations for this method.
There are more complicated alternatives that avoid the plain pointer,
based on creating a helper class that can only be forward declared in
the installed headers, but I don't think those are worth the extra code.
This removes the last use of gmx_unique_ptr in an installed header.
Part of #1454
Change-Id: I948973d32042d388341265d5db6efbbcf0f7db8f
12 files changed: