Issue #23 - Clean up testing code and build infrastructure for unit tests