Add a unit test framework as an external dependency. Requires: * Finding with CMake * Potentially downloading/installing with CMake * Wrapping its API such that there is some robustness if we a) choose to change frameworks or b) its API changes