RB Trees again

Okay, I've managed to replicate the functionality of my binary trees.
However, I stupidly removed the parent pointer, thinking that it would
simplify the code. It would have, except I still need it for the RB tree
itself! LLRB trees are apparently out of fashion now.