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.
No, you need to run `from` recursively on all the keys and values; that's what the `#map` is for.