Improve option initialization in traj. analysis.

All methods that add options to an options object now take an externally
provided options object.  This both simplifies the calling code,
allowing them to control the lifetime of the objects, as well as the
implementing code, since they no longer need to have an internal options
object just for the purpose of returning it.  With the old interface, it
was also impossible to get a reference to the options object more than
once; with the new, the caller has much more flexibility.

Change-Id: I8a2e539fa5abefe696a26919b8591691a1cccc61
Draft support for multiple help output formats.

- Added a HelpWriterContext class. An instance is now passed to all
  methods that write help text.  In addition to keeping track of the
  output format, it also allows other context information to be kept
  (e.g., for formatting reasonable cross-references; earlier I had to
  remove those that were in the selection help because static text was
  not appropriate for all situations).
- Moved current output format specific methods to be members of this
  class.
- Adjusted using methods to work as before for console output, but did
  not yet implement any additional output formats.  All methods with
  console-specific code now throw a NotImplementedError to make it easy
  to find them once #969 is decided.

Once there has been some discussion on the markup and output formats
in #969, this approach can be extended to actually implement it.
No matter which of the alternatives is chosen, the parts in this commit
are useful, but the decisions made in #969 affect the direction to which
the implementation should be extended.

Prerequisite for #969.

Change-Id: I33cd59e6f3b5450db99e0e1afba4a2d1b9e30e29
fix a segfault in sse_mask_init

* work array was unaligned in some cases
* fixes #970

Change-Id: I1b474019bf93e6ef6f7cc935aa3f73f2597a91a8
cmake: allow switch between single and double

* only use FFTW_INCLUDE_DIR and FFTW_LIBRARY if user set them
* otherwise do not initialize them
* description will still show up in ccmake as advanced
* fixes #971 (linking error when switching without "make rebuild_cache")

Change-Id: Idfce7d912c3d432f48fd3a7021c8c04d6311569b
Add default root folder to cpack archives

Fixes that source archives had no root folder. If non-default
root folder for binary archives is wanted, this still can be
achived by:
cmake -DGMX_INSTALL_PREFIX={path}/ -DCPACK_INCLUDE_TOPLEVEL_DIRECTORY=0

Fixes #977

Change-Id: Iaf42afd3617873e5c1e5e7cb7c327986efa20fcd
Fix installation rules for man pages: don't install gromacs.7.cmakein

8c87e60 added gromacs.7.cmakein and didn't add an exclusion rule.

Change to CPackInit.cmake: Removing wrong (incorrect path) and unnessary file in message.

Change-Id: I8fe7436b8164d80ad6db64eb54dc81424cd44e4a
Merge "fix a segfault in sse_mask_init" into release-4-6
Merge "cmake: allow switch between single and double" into release-4-6
Fix that VMD version check was performed for binary not plugin

Gromacs is not using the VMD binary and thus it is not very
insightful to check the VMD binary version. Also checking the VMD
binary version was potential very slow.
The new code tries to find and load one of the VMD plugins and
check the version of the plugin.

Change-Id: Iba7be9cb742c530ce4edb8963597b8ea467e5520
Merge changes I33cd59e6,I8a2e539f

* changes:
  Draft support for multiple help output formats.
  Improve option initialization in traj. analysis.
Merge remote-tracking branch 'origin/release-4-6' into HEAD

Conflicts:
	CMakeLists.txt

Change-Id: Icf9d0d92b977e35d42d55f1a077a2cdc8fbad86f
Merge branch 'master' of git://github.com/gromacs/gromacs