Change users to atom to a ref

We need to be able to read the users db and write to it in a transaction to
prevent data integrity issues.  We could technically have a new user
overwriting an existing user's data.
Formatting
Fix sign up process
Add commenting