Test that the coverage file is clobbered on bootstrap_cmake_unit
Add some test coverage for CMakeUnitRunner.

Added a new ENSURE_TEST_SUCCESS flag to add_cmake_build_test.
That command will now test every built project by default, but it
won't care about the result unless ENSURE_TEST_SUCCESS is passed
since the vast majority of calls to add_cmake_build_test don't
actually have any tests added to the subproject.

Added the following tests:
1. CMakeTestAddedWhereSetupScriptExists: Check that a new test
   was added where a setup script exists
2. CMakeTestNotAddedwhenSetupScriptDoesntExist: Checks that we
   error out if the setup script doesn't exist
3. CMakeBuildTestAddedWhereVerifyScriptExists: Checks that a new
   "build" test is added where a verify script exists and that we
   configure, build, test and verify the project.
4. CMakeBuildTestNotAddedWhereVerifyScriptDoesntExist: Checks that
   we error out when the specified verify script doesn't exist
5. DriverScriptWrittenAfterTestAdded: Make sure that
   TestNameDriver.cmake is written after the test is added
6. InitialCacheWrittenAfterTestAdded: Make sure that the test's
   initial_cache.cmake is set and written after a test is added.
7. InitialCacheContainsForwardedVariables: Check that forwarded
   variables are contained in the test's initial_cache.cmake

Internal changes:

- When appending to DRIVER_SCRIPT_CONTENTS, ensure that the name
of the variable is different for each "layer" that we bubble changes
up. This ensures that we don't end up reading or writing empty
local variables by accident.

Fixes:

- Fixed the display of commands when verbose mode is on - our semicolon
  was being stripped out when the file was written - use a placeholder
  and substitute it in just before we write out the file.
Just ignore CMake Warning and CMake Error in CONFIGURE_ERROR now.

We're relying on some tests to generate these messages, so we need
to handle them more intelligently than just rejecting all logs
that contain them.
Check that tests fail when configure, build or verify steps fail.

Also check that subsequent steps don't run when we allow failures
and further check that when we allow failures those failures
don't cause the verify step not to run.

Fixed a typo which caused an error message to never be displayed.
Add tests for building with a custom target
Detect warnings for warning-to-error-conversion line-by-line.

Also add tests for warning-detection and coverage tracing code. Made
warning-to-error-conversion optional
Escape special regex characters from filenames.

This is especially important on Windows, where \ and () are
prevalent in filenames.
Handle spaces in log directory names
Added cmake_unit_escape_string.

Escape strings of paths that need to be matched on Windows.
Remove unneeded variable forwarding from tests.
Don't require VERSION 3.0 for cmake_policy.

Just disable problematic policies before calling project ()
Minor style issue
Replace "\n" -> ";" based line splitting with a while loop.

Changing characters around is generally just unreliable with large
strings. This technique tends to avoid bugs in CMake.
Merge pull request #46 from smspillaz/cmake-unit.item_44

Added test coverage for CMakeUnitRunner