User object

Closes #45

This is the User object for create, edit, login, and retrieval of private or shared studies and analyses.
The password is hashed through bcrypt and stored as a hashed value. The password sent to us over ssl is going to be plaintext, since hashing on the client side is not needed with ssl. That is why the password here is taken as plaintext, then hashed and checked.