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 effect of fault data replication, application error or data tampering while request is being processed.  

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 using that to construct the reset password email