Completely refactored user account management

We now have a database! :D Also broke up user account functionality
into the classes detailed in our domain model, and improved our
separation of concerns.