Finished Password Reset functionality, with tests