red-black tree: provide a general interface to the tree

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>