Prepares work for efficient preconstruction of tree
Fixes constructor signature
Changes IntervalSet to use composition instead of inheritance to allow fast replacement for other implementations
Double the speed of the enumerator
Cuts enumeration time to less than a third using iterative in-order traversal and low endpoint enumeration instead of set.