made BisectTree's get() defaulting work a bit more like a dict's
switch to new dead index interval approach; the IndexedSet is about half the speed of a list in the ultra-pathological case of random popping on the low end of the IndexedSet