Implement marshal support for Hamster::Hash

As mentioned in #18, Thanks to a bad interaction with ruby's hash randomisation, a `Hamster::Hash` serialised with `Marshal.load` will have all of it's keys present, but they won't be accessible via `#fetch` or `#[]`. This patch adds custom `#marshal_dump` and `#marshal_load` methods to the above class that represents it unambiguously.

I've also added a test for the dumping/reloading a Hamster::Set, but at the moment it does't fail as membership tests do not use `Hamster::Trie#get`.