Password reset

Add ability for users to reset their passwords via email. Also allows users to edit their email and passwords within the app. Resolves #13 .
File that accidentally got pulled in from another branch. Currently doesn't (shouldn't?) actually get used by the code in this branch.