Performs the opposite of merge, with the keys and values from the first
hash taking precedence over the second. This overloaded definition prevents
returning a regular hash, if reverse_merge
is called on a HashWithDifferentAccess.