Merge pull request #82 from mabraham/opencl

Remove lots of high-level duplication
Refactor JIT support

JIT compilation was being done earlier than needed, but some
reorganization of the existing Gromacs is needed to move the
compilation to a place where call graphs and module dependencies flow
more smoothly.

Related, some code has moved from data_mgmt to generic nbnxn_gpu
files, because they were not really about data management.