reduced PLINCS communication with H-bond constraints

When only constraining bonds involving hydrogens, there are
at most two sequential constraints connected. In that case
we now only communicate once in PLINCS.

Change-Id: I841c22b19574b1bb787b5be46637b69c77f1f757
Always build template program

* make sure template is not broken
* gromacs dir contains copy of headers
* fixed warnings in template.c
* don't use config.h as it not installed
* use PKG_CFLAGS to emulate user environment

Change-Id: Ib8a3a5a9717727721d26ae4afbb69633e319d978
Fixes redmine issue #1071

Fixes issue where pull code can crash grompp if foreign lambda
is not defined in the mdp.  Some simplification of code path for
initialization of lambda as a side product.

Change-Id: I6c6a0c1591cc332efddb769f3552c0379e7dc708
Remove the rest of the fortran/power6 acceleration

* kernels got removed in 38069fb14a4c2ba3b61880c96dc017d16294db2c
* remove it from cmake as an option

Change-Id: I84a6e584673a80a7b1fa2f7b8f0b2c54658abc2f
Fix license text printed by programs.

Since source files are now licensed under LGPL, it doesn't make much
sense for the programs to indicate they are still under GPL.
Follow-up to I1c507b3, which seems to have missed this.

Part of #818.

Change-Id: I44ffcf75f4840326d09f924249619077ea5a1013
Merge "reduced PLINCS communication with H-bond constraints" into release-4-6
implemented nbnxn AVX-256 2x(N+N) kernels

With AVX-256 nbnxn kernels are faster with 2x(4+4)=4x4 than 4x8.
To reduce the number of nbnxn kernels, there are no longer both
simd128 and simd256 kernels, but simd_4xn and for AVX-256 additionally
simd_2xnn kernels. The nbnxn search code is simplified significantly,
as it no longer has 128-bit and 256-bit simd simultaneously.
The SIMD pair-search and kernel configuration is now separated from
the SSE SIMD bounding box code configuration.

Additionally the label x86_simd in all nbnxn files is replaced by simd
only, in prepartion for non-x86 SIMD acceleration.

Change-Id: If03cf569cf918dcec675fbcb43e1ff3a30528f74
renamed gmx_x86_simd_macros.h to gmx_simd_macros.h

This is in preparation for non-x86 SIMD acceleration.

Change-Id: Idc652236f4b2e0f48e759d579c798c1b0dc6944f
issue error if GPU ID is provided with GPU acc. off

Manually setting the GPU IDs is an implicit "GPU on" request from the
user, so we need to fail if mdrun in compiled without GPU support.
Additionally, added hint to what content is expected in the GPU ID
string to the respective errors and changed an incorrect collective
fatal.

Change-Id: Iebce58c0626889d047eebebd8e4547d4f1e9ff26
Merge "Fixes redmine issue #1071" into release-4-6
Avoid using undefined CMake variables

C_COMPILER_VERSION is not defined before CMake 2.8.8, so the logic
and reporting was wrong. However, we already have a work-around.

Change-Id: If34deadf3a912d48e204d80cc5be7718c151e39d
Removed orphan file

The use of this check was removed long ago, the bug report that
it cites is invalid, and its detection functionality is duplicated
in gmxGetCompilerInfo.

Change-Id: I8478e155376930c27d259214e13d9b1e6e7a9cca
Merge "issue error if GPU ID is provided with GPU acc. off" into release-4-6
Merge changes Idc652236,If03cf569 into release-4-6

* changes:
  renamed gmx_x86_simd_macros.h to gmx_simd_macros.h
  implemented nbnxn AVX-256 2x(N+N) kernels
Merge "Fix license text printed by programs." into release-4-6
Merge "Removed orphan file" into release-4-6
Merge "Avoid using undefined CMake variables" into release-4-6
Fix Reference build type

This typo led to the Reference build claiming it was not building
for thread-MPI, but actually it did. Pity we don't have a CMake
syntax checker.

Change-Id: I932794145471451e09028297cfbffa4a72e96f39
Merge "Always build template program" into release-4-6
Merge "Remove the rest of the fortran/power6 acceleration" into release-4-6