bin_tree: Add C implementation of delete

Splice out a node, and replace the node to be deleted,
with the value of the spliced out node. The spliced out node
is either the node itself (if it has only 1 child) else it's
the logical successor of the node to be deleted.

Signed-off-by: Prashant Malani <p.malani@gmail.com>