Now tests are done to ensure user does not allready exist in database.
And made sure the higher-level functions behave properly with duplicate users.
And made sure we do not send verification emails when there is a duplicate user.
Improved handling of duplicate user creation.
Better error messages for unvalidated user and bad login.