Tree Removal: Special Cases
Removing a node with 2 children
is the most difficult.
Both children cannot be "adopted" by the parent
of the node to be deleted...this would be invalid
for a binary search tree.
The parent has room for only one of the children
to replace the node being deleted.
So, we must take on a different strategy.