Add increments to all Summers

Added a new increment traits and added different increment counters to all existing summer. Modified `AsyncListSum` to support compaction. 
There are huge if's now in the middle of this, do they share that much logic that its not worth just making them separate? Futures need to get threaded through the simpler one for this now?