Fix issue #1

Adding also checks on empty pointers in convenience functions (since a
user can always forget about newing the tree).
Merge branch 'issue1-implement-search' into next
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
Fix issue #3: Implement FindMaximum
Merge branch 'issue3-implement-min-max' into next
Add docs

Added a Doxyfile to use for doxygen invocation (it could use some
improvement, but it looks OK for the moment).
Bump to version 1.0

Conform to Google style guide. It makes more sense for C++, but it is useful to do some static analysis
anyway.
Merge branch 'release-1.0'