Issue 388 - Console and NUnitLite reports

This PR fixes #388 and fixes #265. It includes:

* Bringing the two sets of reports as close together as possible.
* Porting improvements to  the color display from NUnitLite to the console and sharing the code.
* Adding tests for the reports.
* Making mock-nunit-assembly an exe that uses NUnitLite

The tests are minimalist and a bit fragile, but they will detect any changes in the output.

Having the mock assembly as an executable test provides a way of actually seeing the NUnitLite console runner work. Mock-nunit-assembly has failures and warnings and is a good test for the visual aspects of the output, so it's handy to be able to run it either via the console or directly.
This seems to refer to the NUnit.ConsoleRunner.  Does it belong here?