Add a unit test harness because i don't like working without one.
Add a make option 'make tut' to compile the unit tests. At the moment they have to be run manually, but might change that later.

Added an externals file to define various globals that are declared as 'extern' in the library.  This minimally satisfies the linker, but at runtime they just take their default values.

renamed the 'test' directory to 'unit_test'
Undo some accidental changes (linebreaks) to the makefile, according to git diff. Seems they diddn't actually have any effect, but better safe than sorry.
Bah, how did this not get committed?
Merge branch 'feature/unit_test' into develop

Cross everything!