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).
I think it would be better to keep the functionality separate: for example, test labels are currently added in CommonCPPCTest too, if the appropriate variables are set; further, add_test_class can create test targets corresponding to an arbitrary collection of test labels, which may have been applied to tests independently.