New directory structure to make this into a python package.
This is currently broken. The plan is to turn this into a distribution.
More changes. This is still broken. Will fix later.