prepared the nbnxn code for non-x86 SIMD

Put #ifdef GMX_X86_SSE around all x86 specific code.
Memory alignment is determined instead of hard coded.
The diagonal exclusion masks are now calculated in a generic fashion.
Also made the GPU setup constants fully macro driven.
Added documentation for most of the nbnxn macro setup.

Change-Id: Ib59fe5cec3cf2402f4701e58de59f5707cb797b3
Merge "prepared the nbnxn code for non-x86 SIMD" into release-4-6