Removes a key from a BST and rearranges nodes to preserve the BST property.
Explain code with DocComment! Try out your own code!