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).
Can this be an internal function called by add_test_label automatically?