refactor dict and rbtree
Update dict by taking out the hash table implementation and allowing it to be swapped out with either hash or rbtree.
Update dict by taking out the hash table implementation and allowing it to be swapped out with either hash or rbtree.