[API] Login + user model

Documentation located here: https://github.com/calblueprint/watershed/wiki/Authentication

Fix #21 
Fix #20 
Fix #19