Adding initial source code, unit tests, and sbt script