Optimize Hash#merge and Set#union by using Trie#bulk_put

Implemented Trie#bulk_put which performs several puts at once without
creating new temporary Trie objects on every put operation. This method
is then used in Hash#merge and Set#union in order to improve their
performance.