Password Reset Functionality Added  - Issue #59

I have added password reset functionality in which the user will receive
an email with a link to reset their password.  This implementation uses
a hash of the user name and is only validate for an hour, it is tracked
using a global in-memory cache provided by the System.Runtime.Caching
namespace.  The email portion relies on validate SMTP settings to be
defined in the web.config.

Example -

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="kyle.engibous@gmail.com">
<network host="smtp.gmail.com" defaultCredentials="false"
enableSsl="true" userName="kyle.engibous@gmail.com" port="587"
password="*********"/>
</smtp>
</mailSettings>
</system.net>

Would allow sending smtp mail through smtp.gmail.com with
kyle.engibous@gmail.com being specified as the from address.