Implement FindMinimum

The operation is convenient to implement the delete, so I decided to
implement it here. I also needed a function to display the value of the
current node.
Make the case of delete with 1 sub-tree work

Killer overwrite of the pointer made this one particularly hard. Bonus:
to improve readability, changed the pointers in the private part of
bst_t to be pointers to the IDT. This makes possible things like:
  parent->right->right
Compare with:
  bstimpl_t* right_child = (bstimpl_t*)parent->right;
  bstimpl_t* rc_rchild = (bstimpl_t*)right_child->right;
  // use the rc_child
Test with only child, left one
Fix Issue #2

Delete is in place, with 0 Valgrind complaints.
Merge branch 'issue2-implement-delete' into next