Coalesce is done in two stages:
1. Set all adjacent coalesce pivots to the highest value.
2. rebalance if there is not enough data in the node.
Rebalance is done as follows:
1. Take data from the right (4 or everything)
2. if there is no right, rebalance the node to the left.
3. if there is no left, rebalance the parent.
4. if there is no parent, remove a level from the tree.
More testing is needed. The test infrastructure needs to be reworked to
use more knowledge of the tree layout to test when split/erase occurs
and to ensure the testcases fail if they become invalid (ie: dense
support re-enabled).
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>