Separating script logic for CPP tests and coverage reports.
The purpose of this change is to allow better reuse of common test code
in projects which have more that one test suite.
The CPP unit test generation code has also been extended to allow further
per test customization of include directories and link libraries. This
suite will now also run in its own build directory. With the original
code CTest picks the top level CTestTestFile.cmake and runs all tests
in all subdirectories. This may include additional application specific
suites for which there may already exist rules (that makes them being
run twice by target 'tests').