update tests
update users - require unique email address at db level. Add email validation and user tests
add password authentication and password hash
Finish user sign-up