Only set token back if password reset fails.

This prevents the digested version of the token being saved when a reset is successful.
Maybe it should be `unless recoverable.persisted?`