Added warnings for ewald-geometry and surface-epsilon

ewald-geometry and surface-epsilon require the system dipole,
which will be incorrect when charge groups with net charge cross pbc.
grompp now checks and warns for this.
Refs #1645.

Change-Id: I02e317cbddb47256f942312ec53c5bab2b13be2a
Fixed triclinic 1xNx1 domain decomposition

With the Verlet scheme, 1D triclinic domain decomposition along
dimension y produces incorrect bounding boxes for the non-bonded grid.
This led to a lot of missing non-bonded interactions, which quickly
crashes any simulation affected by this.
Fixes #1631.

Change-Id: I9bd1fc9d983be839e0c9a8e62d47f6cf17684a03
Fix problem with mixed affinity mask on different nodes.

If task distribution (with slurm for instance) causes both fully
allocated and not-fully allocated nodes to be assigned to the job then
there may be tasks with a all-cores affinity mask and tasks with a
not-all-cores affinity masks.

Fixes #1613

Change-Id: I71c0daa43a5dd42da57bfd09037806ce1d9334b5
Merge branch release-4-6 into release-5-0

Conflicts:
	src/gromacs/gmxpreprocess/readir.c
(added content at same point in both branches)

Change-Id: I9df7cef8c2e4920461fb3d84806c58cf07c645e2
Remove use of interaction_mask_indices on BG/Q

This field was degrading cache performance ~1% on x86. It probably
made little difference on BG/Q, because the extra integer operations
can use the second instruction-issue port, assuming the use of OpenMP
to use more than one hardware thread per core. Overall, this code is
about 1% faster on BG/Q.

Minor fix to the gmx_load_simd_4xn_interactions() function that looks
up the exclusion masks, so that new non-x86 platforms won't silently
fail for want of an implementation of this function.

Minor simplication to always pass simd_interaction_indices to
gmx_load_simd_4xn_interactions(), since it is only used on BG/Q and
then it is non-null.

Change-Id: I140a11607810e9cf08b702cae0b48426c3592fec
Fixed typo in amber99sb-ildn force field

Torsion calculations for N- and C-terminus ILE tries to find a non-existing atom type

Change-Id: Ibdc6ecc88e0c4da304b97f092d0a908451e12ac4
Added warning for unnecessary soft-core

The sc-coul mdp option is, presently, only active with lambda states.
grompp now issues a warning when using soft-core without Van der Waals
decoupling without lambda states.
Also fixed an incorrect twin-range grompp check with PME.

Refs #1421.

Change-Id: I0605fe0f735d69f96f478612a00434eccef6232f
Avoid race on dvdl with Verlet+OpenMP+LINCS+FE+VV

Also restructured the dH/dlambda reduction in do_lincs (used for
coordinates and not affected by the race issue) to work similar
do the do_lincsp code and properly use thread parallelization.
Fixes #1647.

Change-Id: I4eeb131018abca88b3635932491d99a779e16037
Clarified grompp pull error messages

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

Conflicts (trivial):
	src/gromacs/gmxlib/gmx_thread_affinity.c
	src/gromacs/mdlib/clincs.cpp

Manual changes:
Removed config.h because not necessary anymore:
	src/gromacs/mdlib/nbnxn_search_simd_4xn.h
	src/gromacs/mdlib/nbnxn_search.c
Removed config.h supression:
	docs/doxygen/suppressions.txt
uncrustify:
	src/gromacs/mdlib/clincs.cpp

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