Initial Commit

This first commit covers the structure of the program and associated
build system. To build the project, run `gradle build`.