Added new stage to reset forgotten password
Tidied up User model code
Pseudo code for password reset