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 .
This might just be me used to Java, but I kind of like including `return` when that's essentially the only reason a line exists. Is that frowned upon or just not standard?