Add a cumulative sum to KeyedList

Not sure where the best place to put this is (or where to add tests) but this is a method for taking cumulative sums that doesn't require all the entries to go through a single scanLeft. It accomplishes this by

- taking an ordered partition of the entries
- summing up the entries in each partition
- scanning through the sums (which does require going through a single scanLeft so there can't be too many partitions)
- then scanning through each partition starting from the cumulative sum of the prior partition (so each partition can't be too big either)

This has been compiled against master.
if we remove this, you could return an SortedGrouped, I think, which can still do reduces on, if people want that. I think returning the TypedPipe is only a loss of power. Consider if you want to follow up with a fold or another scan (or a filter followed by a fold or scan).