properly user model and tests
added more user validations, now enforces email uniqueness at the controller and in the DB
user authentications fully tested, now to implement controller and view portion