User object

Closes #45

This is the User object for create, edit, login, and retrieval of private or shared studies and analyses.
This reasoning doesn't make any sense. If you can receive an empty string you can receive any type of string. Make all the tests or don't test anything, but don't do a partial test.
Proposed solution: create a function outside the user object (but in this module) and perform all the checks there. Then you only need to call that function here.

Applies to password, etc...