Compare unmarshalled hashes instead of marshalled data

Marshal.dump output has subtly changed in Ruby 2.0, but the marshal
version hasn't changed. This change compares hashes loaded by
Marshal.load, which tolerates the change in serialization format,
rather than the raw serialized bytes.