Modify and optimise User

Remove password length validation, add email normalisation, add email
index
Allow User model to normalise its own email on signup
Add spec for normalise_email