Overview
A binary search tree is a binary tree that maintains the sorted ordering of its contents.
Its order property ensures that each node's value is greater than or equal to all values stored in that node's left subtree,
and is strictly less than all values stored in its right subtree.
Task: Implement an instantiable binary search tree class with multiple test methods demonstrating correctness under various circumstances.