User object

Closes #45

This is the User object for create, edit, login, and retrieval of private or shared studies and analyses.
It is hashed in the function before check. You can't hash it without a db lookup so the password needs to be passed in pre-hashing.