Feature/more secure pwd reset

Changes:

1. Initiating the password reset process now sends a reset link instead of a reset password
2. `GenKey()` has been made cryptographically secure, and `GenPwd()` has been removed
3. An email will now be sent when a user changes their password.