Permit test cases to rerun with -nb cpu

This allows tests that did run using (real and emulated) GPU kernels
to run again automatically using only CPU kernels. This means that
users and Jenkins can automatically test all the important non-bonded
code paths. Output is kept separate in a "cpu-only" subdirectory, and
reporting to the command line and Jenkins-suitable XML works. The
reference data is shared, rather than duplicated.

If the user was playing games with ./gmxtest.pl -mdparams "-nb xxx"
then the new mechanism gracefully stays out of the way.

The mechanism for returning the numbers of total and passed test cases
is enhanced to behave correctly with both old and new behaviour, and
also to adapt to the number of test cases selected with ./gmxtest.pl
-only

./gmxtest.pl clean also behaves correctly, whether or not any CPU-only
runs took place.

Fixes #1337

Change-Id: I21af1dd306325aa389d82184ec7c8a8fabdc26ff
Add nbnxbn test case for energy groups

Only the free-energy test uses energy groups otherwise,
and it would be good to isolate a test for energy groups.

Change-Id: Ic818574336fc8fb8642c259d01afea707f018db2