Get unit tests building again.

Reverse some of the bitrot of the minimal unit tests.
I'm looking into some header-only unit test frameworks to include so that people don't have to grab a dependency to build/run the unit tests.  Recommendations are welcome.
The front runner at the moment is https://github.com/philsquared/Catch