DBHelper usercreation and login fixes

users now cannot be created when their username or email already exist.
usernames cant be shorter than 3 characters.
emails are validated.
usernames cannot be valid emails.
you can now login with email instead of username.