Further work on the password reset module.

Added password reset module with methods to:
1. Generate, save, and return a password reset token when given an email address
2. Verify that a token exists and return the user given a valid token

Added API methods to the core module for:
1. Generating a password reset token when passed a known email address
2. Returning a user object when passed a valid, non-expired token

Todo:
1. Add method to the reset module to update a user's password
2. Add public API method to update a password given a username and a new password