refactored avltree insert. did first pass for avl remove