Proof of concept for c++ unit testing framework

Trying to come up with a "get out of our way" framework for making c++ unit tests.

# Features
* Requires no changes to add new algorithms if you follow the structure
* Runs on windows (cygwin-style) and linux
* Has a test runner/build script
* Uses a real testing framework (google test)

# To add an algorithm
* mkdir src/algorithm && touch src/algorithm.{h,cpp,test.cpp}
* implement it
* ???
* profit!