AVLTree now supports an optional compare function to order keys. Added test cases