An extension of ConcatenatedLists that has several peculiar properties.
First, one can cut the tail of the logical list by removing last several sub-lists.
Second, items can be removed thru iterator.
Third, if the sub-lists are immutable, they are replaced with mutable copies when needed.
On average KeyBefore operation will contain half the stripes as potential candidates,
but will quickly cut down on them as it finds something in the more likely ones; thus,
the above allow us to avoid unnecessary copying of a bunch of lists.