Update description of genrestr

Change-Id: Ib5e34a40bee8154dc291121cbefd6cd73c6e1760
Use random seeds by default

A stocastic simulation not being reproducible by default is less
surprising. It wasn't true that lmc-seed was intialized using
ld-seed.

Change-Id: I5c95f1957b926287c8436d081661cb9d7504ee76
Remove antiquated and unused gmxpar.tex documentation

Change-Id: I7c7637c38063f8d511c575990bf5c5542beaa725
EE dhdl header should not specify one lambda

The header for dhdl for expanded ensemble should not specify a single
lambda value because the simulation visits many lambdas.  This commit
fixes this problem.

Change-Id: I717203a58657fbce2bf3739c15be5f05a61435bf
Fix build of share/template when installed

It is now possible to build the analysis tool template using the
Makefile.pkg and the CMakeLists.txt that are installed with it, at least
under some conditions.  FindGROMACS.cmake could probably be improved
further by using gromacs/version.h to detect the version for those
installations where it is present (4.6 and up); the current list of
functions is confusing (init_domdec_vsites, for example, already appears
in 4.6, but causes the detected version to be set to 5.0), and requires
extra maintenance for each release.

Remove obsolete Template.mak, which was used by autoconf to generate an
installed Makefile.

Change-Id: Ibcaa792b721db7fc9729710e36ace29bddbb82c3
Initialize inputrec better in genbox

Incoming NBNXN patches change the behaviour if you just leave the VDW
modifier set to zero. The modifier is not supposed to be zero, because
grompp is supposed to change eintmodPOTSHIFT_VERLET to something
non-zero, but since we don't have a vanilla constructor for an
inputrec and use it outside grompp, we have a horrible flow-on effect.

So we set both the modifiers explicitly, to avoid these problems.

Change-Id: I2f8381e81104e673fb1a602b2d9cac1ccd81fff0
Fix & update docs for GMX_TEST_OPTIONS

The macro did not appear in Doxygen documentation, because it was
excluded to avoid warnings from undocumented instances of it.  Since
there aren't that many, opted to protect those with \cond instead.  Also
some minor updates and additions to the documentation, and some minor
cleanup of touched code.

Change-Id: I04785e6d66f124ae8ec5dde87bb7c7442230d83a
Clean up .log file dump of inputrec

New wide name made formatting ugly. Renamed a few things to follow
.mdp convention.

Change-Id: I39550bff607a9ead01d228a7ab297eac1dde2523
Refactor new help formatting implementation

- Merge formatFileOption() and formatOption() into one.
- Remove unnecessary generality by splitting description formatting into
  its own class, and make OptionsFilter only do option filtering.  All
  output handling is now in OptionsListFormatter (which was renamed from
  OptionsExportFormatter).
- Split formatting basic option name and value placeholders into a
  separate function.

There should be no functional change.  Preparation for a proper synopsis
implementation.

Part of #969.

Change-Id: I900883eb39853ed67d5f6177ae06847283348d9e
Implement synopsis for help output

Print all the options into the synopsis, for all the output formats
(console, man pages, and HTML).  Formatting is not the nicest possible,
but surely better than what it was (in wman.cpp, the synopsis is only
printed into the man pages, with no wrapping whatsoever).

Part of #969.

Change-Id: Ic09ac91b3d5b5e2d42d41b83935d54c894eb8e97
Make FileNameOption behave more like old filenm parser

If a required file name option is provided without a value, then it is a
no-op.  Previously, FileNameOption raised an exception for such usage.
Add a test to cover this case.

Related to #642.

Change-Id: I89d6cc8ee5d5bf2915bb6841317b402ade00b99b
Remove old help formatting code

Make parse_common_args() format its help using the new
CommandLineHelpWriter class.  To support this:
 - Add conversion functions that map t_filenm and t_pargs options to
   corresponding Option classes.
 - Add support for arbitrary file types from the filenm.h enum to
   FileNameOption.
 - Add support for writing a list of known issues from
   CommandLineHelpWriter.
 - Some minor extensions to the Option classes to make it easy to do
   the conversion.
 - Fix gmx_hbond to not specify the same option twice.
 - Remove wman.* as unused after the change.

Related to #969.

Change-Id: I25143ddfa4226abd5ae5b95172f69c8fc615b720
Make 'gmx -h' invariant wrt. provided options

The help output no longer depends on what the user provided on the
command line.  To do this, initialize a separate copy of the options
holder for writing the help.  This decouples the module manager and the
actual help output a bit more.  Make the option holder implementation
shared through cmdlinemodulemanager-impl.h.

Change-Id: I82ea1e969c7d02eadcb2a9f519af30561cb19991
Move orientation restraints checks inside init function

This removes clutter from runner(), much like init_disre() already
does. Removed duplicate check for the number of orientation restraints
being zero. Removed an unused function parameter.

Change-Id: Icc6a08a2ed4af010e65bfe1f5e49b6c229454df1
Shell completions through Options

- Implement shell completion generation for command line options
  specified through an Options object.
- Use this support to generate the list of options for the wrapper
  binary instead of hardcoding them.
- Use this support and the conversion from t_pargs/t_filenm to Options
  to generate the existing completions.  The only differences in the
  generated completions are in the order of the options and in changing
  "$n == 1" to "$n <= 1" and ".@(xtc|trr|...)" to "@(.xtc|.trr|...)".
- Extend some of the options to expose information necessary for this.

Related to #969 and #1410.

Change-Id: Ib77543367c38803ef186f6024a1af14feb806d80
Merge branch 'master' into alexandria
Moved conditional cmake code for vmdio.

When moving the vmdio.c file to the fileio directory the
corresponding conditional was left in the gmxlib/CMakeLists.txt
file. This is corrected here.

Change-Id: I91a7123aebe639b89a19733ef972699a2c8c9630
Merge branch 'master' into alexandria