Fix overflow in LJ-PME nbnxn kernels

The SIMD exp function in the LJ-PME nbnxn kernels could overflow
for pair distances far beyond the cut-off. Added a mask to avoid this.

Fixes #1552

Change-Id: Id87710f3815b341f53a69df0a2990d0bb4edfa74
Avoid division by 0 in nbnxn_search

Note that this issue did not affect any results.

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

Change-Id: Ifc6c3180fe5803bc9a23a0be84be7c93ecb7f472
Replace most strdup with gmx_strdup

gmx_strdup existed but code was using a mixture of it and strdup.
Advantages of using gmx_strudup everywhere:
- consistency
- error handling for out of memory
- strdup might not be available (e.g. Cygwin)

Left strdup in testutils which had already error handling. And fatalerror.cpp
which cannot use gmx_strdup because it could lead to an infinite loop.

If all strdup are removed gnu++0x in gmxTestCXX11.cmake is not required
anymore.

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