Updated reference with fixed potential-shift dispcorr

New reference energy files (single and double) that use the
proper potential-shift dispersion correction. It also fixes
a typo in the reference grompp output.

Refs. #1463.

Change-Id: If422a4326faede476ccb32be5a9da332e92f2b71
Get information about grompp warnings from Jenkins

Change-Id: Ide29deb8f14502c6556d11a827c7bd481c5faf59
New reference values for corrected shift dispersion correction.

The classical 'shift' in Gromacs corresponds to the force-switch
modifier introduced in Gromacs-5.0. Now all three modifiers
(potential-shift, potential-switch, and force-switch) produce
virtually identical total LJ energies.

Change-Id: I400784cf792428fe811560cbdbd7e86d3c887156
Merge release-4-6 into release-5-0

All reference values are kept from previous. The reference
values were already updated indpdendently for the disp-corr
changes.

Conflicts:
	complex/nbnxn_pme/reference_d.edr
	complex/nbnxn_pme/reference_s.edr
	complex/nbnxn_rf/reference_d.edr
	complex/nbnxn_rf/reference_s.edr
	freeenergy/coulandvdwsequential_coul/reference_d.edr
	freeenergy/coulandvdwsequential_coul/reference_d.log
	freeenergy/coulandvdwsequential_coul/reference_s.edr
	freeenergy/coulandvdwsequential_coul/reference_s.log
	freeenergy/coulandvdwsequential_vdw/reference_d.edr
	freeenergy/coulandvdwsequential_vdw/reference_d.log
	freeenergy/coulandvdwsequential_vdw/reference_s.edr
	freeenergy/coulandvdwsequential_vdw/reference_s.log
	freeenergy/coulandvdwtogether/reference_d.edr
	freeenergy/coulandvdwtogether/reference_d.log
	freeenergy/coulandvdwtogether/reference_s.edr
	freeenergy/coulandvdwtogether/reference_s.log
	gmxtest.pl
	kernel/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1/reference_d.warn
	kernel/nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1/reference_s.warn

Change-Id: Ia4ff6006471146ab678550bc0abb1602e51b17d0
Update naming of things to do with parallelism

We should refer to ranks, rather than threads, processes or
processors, in a way that is similar to how we now do things in the
output of mdrun.

One regexp is now more general, because there's still a string in
mdrun (which should change at some point) that refers to threads. We
don't want to have to update this script when that string changes.

No other functionality changes here, just clean-up.

Change-Id: I67069db5077c9f0d50de7ec0e448fd6c575364de
Fix and improve behaviour for retrying mdrun

Implemented use_separate_pme_ranks in terms of the number of MPI
ranks. Fixed a bug where it would leave undef in the number of PP
ranks in use, which stopped -gpu_id being propagated.

Added support to the mdrun-retry mechanism for adapting the number of
ranks to equal the number of GPUs when the first attempt failed.

Added output to inform the user explicitly that a retry is being
attempted.

Added new fatal error if the user specifies both -nt and -np,
which supports the existing assumptions that only one kind
of MPI-level parallelism is being attempted.

When reporting the style of mdrun calls that might be made, some of
the output now acknowledges that the harness might be smart and make
re-attempts with different settings than the user/default specified.

Improved documentation here also.

Fixes #1543

Change-Id: Ie36fc26b72fac3a90b6b6991533ffb0913c6afcb
Made test_case function

Refactor test_systems into a loop over test_case. This prepares for
new functionality. Also cleaned up indentation and whitespace. No
overall functionality changes.

Refs #1337

Change-Id: I7068a63c14a1ef27c5bfbbc6251d14f8557284ce
Refactor test_case to separate functionality

Now the test machinery can use different input and output directories,
and name for the test case, which will be useful for new functionality
that wants to run the same test case in a different mode and keep the
output separate.

Added some more detail to output strings where it might not always
have been clear which test case was producing the output.

Refs #1337

Change-Id: Ic3de4202e1445af36c263ffeed2663a7e0b3a26e
Permit test cases to rerun with -nb cpu

This allows tests that did run using (real and emulated) GPU kernels
to run again automatically using only CPU kernels. This means that
users and Jenkins can automatically test all the important non-bonded
code paths. Output is kept separate in a "cpu-only" subdirectory, and
reporting to the command line and Jenkins-suitable XML works. The
reference data is shared, rather than duplicated.

If the user was playing games with ./gmxtest.pl -mdparams "-nb xxx"
then the new mechanism gracefully stays out of the way.

The mechanism for returning the numbers of total and passed test cases
is enhanced to behave correctly with both old and new behaviour, and
also to adapt to the number of test cases selected with ./gmxtest.pl
-only

./gmxtest.pl clean also behaves correctly, whether or not any CPU-only
runs took place.

Fixes #1337

Change-Id: I21af1dd306325aa389d82184ec7c8a8fabdc26ff
Add nbnxbn test case for energy groups

Only the free-energy test uses energy groups otherwise,
and it would be good to isolate a test for energy groups.

Change-Id: Ic818574336fc8fb8642c259d01afea707f018db2
Add mdrun -table -tablep only when needed

Command-line handling in master branch is more picky about options
that name non-existent files, so we should start here by adding
file-related command-line options only when the file exists, and only
when the file is needed.

Change-Id: I6c4f0fd8cd539243ac248aaf4f5968babcf29df3
Merge release-5-0 into master

Conflicts:
	gmxtest.pl (same issue fixed similarly)

Change-Id: Ieb2bb351f84ee90b1383267e9bfb063473ea2394
Merge "Merge release-5-0 into master"