Reset password

Implemented the password reset functionality. Resolves #22.
I think they're required. All the tests break without