BinarySearchTree.isLeft() doesn't need to know key function. Added left_rotate and right_rotate.