Perform order insensitive matches on hashes

The current behavior of rspec-puppet is to cast anything that isn't an
Array, Regexp, or Proc into a string and do a string compare to
determine equality. In the case of hashes this stringification is order
dependent, and can have different ordering on different platforms, this
making previously valid tests fail.

This commit resolves this behavior by doing a normal hash comparison,
which ensures that both hashes have the same size and each key/value
pair match.