Adding MutableSumAll and Semigroup#bufferedSumOption,statefulSummer

Refactoring some Semigroup#sumOption optimizations to use these.

Closes #291

These should be getting test coverage indirectly, but I'm open to suggestions for additional tests to add.