Initial commit

This commit includes working code, and (hopefully) all the necessary
project infrastructure.