Some initial work implementing the new api

I've started redoing the database models. This undoubtably breaks
everything. It's incomplete, and of course the rest of the HaaS needs to
be changed to match. There's one test so far, and the way the test suite
is setting up the db needs work.

I've also added passlib to the list of dependencies; we're using it to
salt/encrypt paswords.