several suggested improvements to symogriform and hashmogrify

The biggest issue here was that `Hash#symogriform` actually mutated nested hashes, which contradicted the behavior described in the README. This PR fixes that and also suggests some simplifications to the current implementations of both `symogriform` and `hashmogrify`.