Forgot Password Changes

This all should work but may need to be tested a tiny bit more everything worked for me but still.
Hmm so apparently `generateHash` works in two modes.  One is when you only supply the first parameter, in which case it returns the hashed password.  But if the second parameter is supplied, then it hashes the first parameter and compares it to the stored password, returning true/false if they match.  No idea why it was set up this way, seems a little confusing.  But yeah, looks like you're using it correctly.