Fix diffing of hashes with keys that aren't strings.

Force conversion of the key `to_s` before attempting to match encoding. Fixes #319.

This is off 2-14, so I'll pull it to 2-99 and 3-x when RTG