Add optional Identity to PasswordHasher

Needed in cases where the salt is dependent upon some aspect of the
Identity. Made it optional as to not break the API.