Reset password

Implemented the password reset functionality. Resolves #22.
I think this is fine where it is.