User registration, email validation and password reset