Initial commit of code. Contains classes, documentation, CMakeLists, and a brief test.