This changes README.md and the comment for RedBlackNode to more clearly explain what the project is all about. It emphasizes the fact that RedBlackNode provides public access to the tree's structure. It changes the usage example in README.md from a short RedBlackNode subclass highlighting how easy augmentation is to a medium-length pair of tree and node classes that show how to use insertion, removal, and augmentation.
This change also makes minor improvements to comments for RedBlackNode methods.
This fixes RedBlackNode.concatenate to work on two one-node trees. The check for determining which tree had the greater red-black height was incorrect in that case.
This changes fixInsertion to always augment the node's parent, even if the initial call to augment() returns false, assuming "augment" is true. When we insert a node, we are supposed to ignore its initial state; thus, we ignore the return value of augment().
This changes the remove methods to set the parent and child links to be null, so that we're more likely to encounter an exception if we attempt to access the node.