CRFs 47802 and 47798

CRF 47798: add logging to password hashing

Problem: There were complaints that the hashed_password column value has been set to null for multiple users. Im not sure if this was the fault of the application. i need to add logging to check if the app is sending garbage data or not for the "hashed_password" column. 

Solution: add logging to several entry points that calls stored procs. these stored procs updates or inserts data that involves "hashed_password" column. 

CRF 47798: problem with password reset if the email address contains the "+" character

Problem: There were complaints (mostly from QA) that they were not able to reset their password when using email address with "+" character. The error started when the module that performs password reset failed to encode the email address before sending the password reset notification email

Solution: email address should be encoded before it should be used to construct the reset password email