Add test generation helper utilities.

Adds a new cmake file TestScriptUtils.cmake which provides
three functions:

1. add_test_class_target(label [label2 ...])
   Create a target with name test-label (or test-label-label2 etc.)
   which runs with ctest only those tests whose labels match
   the specification.

2. add_test_label(name label ...)
   Add the given labels to the test 'name'.

3. add_test_script(name script interp)
   Add a test 'name' that runs the given script. Uses TEST_LABEL,
   TEST_ENVIRONMENT, TEST_PREFIX and name_TEST_PREFIX to
   customise the test invocation and test label(s).
BINARY was used here so that test scripts would be positioned at the top of the build tree and have access down from there to built binaries or other data that might have come from other parts of the source tree.