Initial commit of the project.

We can now encode most of the structures and produce examples that we can put into the specification.
Still need to get the decode half of the equation running.