Reset password

Implemented the password reset functionality. Resolves #22.
I see it.  It's a little confusing.  Especially validating the password.  Doesn't a user already enforce password validation?