Add Initial Models, Migrations, Fixtures, and Tests

Here's the initial implementation of the data model as defined in our google doc. I've also included a few basic tests and fixtures for us to use.

User passwords are hashed and salted automatically (both values are stored together in the `password_digest` column). The `password` and `password=` getter/setter will transparently encrypt or decrypt the password as needed.

@ryanseys 
@oharaandrew314 
Yes, @melari explained what I was worried about.