Defines and implements all the operations for a Binary Search Tree.