Recursive Merging for Ruby Hashes