Work with case-sensitive email addresses

Closes #4235
I think we could probably just simplify and do away with this whole line, as the only point of it was to proceed if a user was found (notice how the return value of the method is never used) or short-circuit down to the `.catch` handler otherwise.

`dataProvider.User.generateResetToken` should provide the same "throw if not found" behavior, so I'd imagine we could just start out this promise chain with the call into `settings.read` instead.