Implement generate_password_reset_token method and tests