adding password reset function, added smtp outbound email for reset, tests for password reset, and fixed logout function in model