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).
Amend comments, consistent TEST_ variable use.

Comments in TestScriptUtils.cmake updated and expanded.

add_test_script() now regards TEST_ARGS, TEST_PREFIX
in a manner consistent with CommonCPPCTest.cmake.

add_test_class_target renamed to add_test_class.
Automatically make test-* targets; different script working dir.

Test script working directory changed to CMAKE_CURRENT_BINARY_DIR
for consistency with the rest of the test infrastructure.

add_test_label(NAME labels...) will automatically create test-LABEL
targets for each LABEL in labels...

add_test_class will not try and create a test-* target if the
target already exists.
Merge pull request #180 from halfflat/feature/test+utilities

Add test generation helper utilities.