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.