Reset password

Implemented the password reset functionality. Resolves #22.
The validation above could be modified to `allow_blank`. Then validations wouldn't need to be skipped due to it.