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 .
In one of my tests, I change the original `password_reset_sent_at` so that `expired?` should return `true`. However, it didn't until I reloaded it here. I can't think of a situation outside of my tests where this would happen, but I included it here to be safe in case something like that were to happen. Think it's worth it? I could definitely change my test around to pass without needing it.