Do not use CMake CONCAT

CONCAT was added quite late in the CMake release cycles so lets use `set()`
instead which has been around _forever_...
Ignore the result of make test
Check the number of benchmark tests ran

Previously the benchmark_test program executed the benchmark tests to make sure
the API was working but was not checking the number of tests that were
completed. If the regular expression matching breaks, zero tests could be ran.
Similarly, if one of the APIs breaks and doesn't run the correct amount of tests
then `make test` will catch this.
Merge pull request #47 from mattyclarkson/benchmark_test

Make sure all benchmark tests run
Consistent indentation in CMakeLists.txt
CMakeLists.txt comments
Resolve regular expression engines
C++11 regular expressions
Added more complicated regex test patterns