Alpha0.5

Implementation of the draft API.
In progress.
I should say "aren't necessarily represented". DataUser provides methods for working with the database, so most things that uses the database should be a DataUser. That includes DataObject and Worm (which should be a subclass of DataObject).