red-black tree: isolate memory allocation

Link: https://github.com/GeneAssembly/biosal/issues/703
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
red-black tree: simplify creation/destruction of nodes

Link: https://github.com/GeneAssembly/biosal/issues/703
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
red-black tree: move memory management in tree

Link: https://github.com/GeneAssembly/biosal/issues/703
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
red-black tree: reuse nil nodes

Link: https://github.com/GeneAssembly/biosal/issues/703
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
reuse old nodes in red-black tree

Link: https://github.com/GeneAssembly/biosal/issues/703
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>