Generic AVL Tree data structure library, C++