Nested structures implementaion: Hamster.from and Hash#put_in

This is an attempt to tackle the nested structures feature (#140). It implements:

* `Hamster.from` to allow generating deeply-nested Hamster structures from Ruby objects (consider a JSON-like structure of nested Ruby Hashes and Arrays).
* `Hamster::Hash#put_in` to allow modifying a value in a deeply nested Hamster::Hash structure, creating new parents as-needed along the way. Note that this currently ignores the possibility of a `Hamseter::Vector` somewhere along the path. Need to think if we want to solve this or leave it as-is.

Comments are of course welcome.
Well there's no `Hash#put!`. There's `Trie#put!`. What I can do is built an array of key-value pairs, and then use that with `#bulk_put` (hmm maybe we need Hamster::Hash.new to use bulk_put too?)