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 I remove this I get:
```
[info] Compiling 1 Scala source to /Users/snoble/Code/stripe/scalding/scalding-core/target/scala-2.9.3/test-classes...
[error] /Users/snoble/Code/stripe/scalding/scalding-core/src/test/scala/com/twitter/scalding/CumulitiveSumTest.scala:10: missing parameter type for expanded function
[error] The argument types of an anonymous function must be fully known. (SLS 8.5)
[error] Expected type was: (cascading.tuple.Fields, cascading.tuple.Fields)
[error]     .map {
[error]          ^
[error] /Users/snoble/Code/stripe/scalding/scalding-core/src/test/scala/com/twitter/scalding/CumulitiveSumTest.scala:24: missing parameter type for expanded function
[error] The argument types of an anonymous function must be fully known. (SLS 8.5)
[error] Expected type was: (cascading.tuple.Fields, cascading.tuple.Fields)
[error]     .map {
[error]          ^
[error] two errors found
```
Do I need some subset of it?