added password reset modules

added new APIs for:

1. Finding a user by email address
2. Generating a token and expiration and saving it to the user schema
3. Retrieving a token
4. Checking the token expiration
5. Returning the user associated with a token

To do:
1. Add API for updating user password after token verification