Reset Password with better error handling and validation

Have done the following

a) Reset Password with better error handling and validation - Passwords must match, and length must be between 8-20
b) Also password token and expires must be set to undefined when a new password is saved. (Was apparently commented by mistake)
d) Moved emailFrom to the environment settings (much easier to have all configuration in one place)
d) Other minor changes, indentation and all.