Added ability to load names of tests to run from a file

- use -f to specify filename. Blank lines and lines starting with # are ignored
- also added --list-test-names-only to list test names out to file in a form that can be immediate read in by -f
Build 14
Fix fileno not always present. fileno(stdout) = STDOUT_FILENO.

This was a problem when compiling on Cygwin with gcc 4.8.
Merge pull request #224 from PetterS/cygwinfix

Fix fileno not always present. fileno(stdout) = 1.
Refactored a lot of code from headers into impl headers only compiled into one TU
- also added noimpl option to single header script - which only generates the non impl code
Build 15
Removed some cruft
Normalised “hidden” tags
SourceLineInfo takes char*s instead of std::strings
Fixed broken single header following script change
- fixed the script (was missing #ifdefs)
- also fixed single include (Xcode) test project
- build 16
Stop overloading virtualise defined at multiple levels
trim test/ section names in xml reporter
- BDD-style test names have leading spaces for alignment in the console reporter
Fixed warnings for platforms that don’t implement CATCH_BREAK_INTO_DEBUGGER
- as discussed in #229
Build 17
Allow FAIL() to be empty
Test for FAIL that doesn’t take an argument
Compile in CATCH_CONFIG_CPP11_NULLPTR for some compilers
Build 18
build 19
- fixes nullptr regression (I had accidentally left in some dev changes)
Try again with nullptr compatibility check in GCC