Successful launch of empty OpenCL test kernel

1. The list of parameters for the kernel in nbnxn_ocl_kernel.clh has
been modified to include:
- data structures with non-pointer fields
- pointers to device buffers
- textures
TO DO: move the data structures in a separate file. Now they are defined
twice: once in the host code, once in the device code.
2. Added a function to handle the transfer of data from the format used
by the host to the format used by the device.
Advantages:
- the main opencl host side structure, nbnxn_opencl_ptr_t, remains close
to the cuda one; so does the code using them
- in the future, the cuda and opencl structure may be combined into one
single structure
- the host <-> device format adjustment is done in one single function
as opposed to being spread out through the entire code
Disadvantages:
- moving simple data from one structure to the other
TO DO: check if the kernel results are stored only in buffers or also in
some of the structure fields. Structures are currently passed by value.
4. Disabled all includes for nbnxn_ocl_kernel.clh
TO DO: cleanup the headers and include only what's needed
First version of "test" kernel that builds and runs.

The "test" kernel is not empty anymore.
TO DO: check headers and flags that control what the kernel does.
Added nbnxn_ocl_launch_cpyback
Selective merge branch 'asc' into dk-dev

Conflicts:
	src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl.c
	src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl.h
	src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_data_mgmt.c
	src/gromacs/mdlib/sim_util.c