Adding a bunch of experimental source to the repository. Some of this will
be reused, but there needs to be a lot of refactoring.