Get haas.model working with things besides sqlite 

This now at least populates the db with MySQL. I'm putting the do not merge label on this, because I want to test it more thoroughly against mysql first.

The main thing that was required was explicit length fields for string/varchar columns. Perhaps troublingly, the default behavior seems to be to silently truncate any values that are too big to fit. We should probably check this ourselves, which this doesn't do currently
Quoting henn (2014-12-19 20:31:08)
>    In [1]haas/model.py:
> > @@ -297,7 +309,7 @@ class User(Model):
> >
> >      # The user's salted & hashed password. We currently use sha512 as the
> >      # hashing algorithm:
> > -    hashed_password = Column(String)
> > +    hashed_password = Column(String(VCHAR_LEN['sha512_pass']))
> 
>    Would converting this to BINARY be a lot of hassle?

Probably not, I just didn't look into it.