The TreeIterator allows a user of a BinarySearchTree to iterate through the TreeItems currently in the tree
in one of the following Key orders:
preOrder
inOrder
postOrder
Users will set the desired order and access the TreeItems using the Iterator interface.