Add lift and liftOption methods to Aggregators

This is useful when you have a common call site that expects to use
the standard Aggregator API (prepare, present) but in some cases you
wish to aggregate values that come as Option or Collection types.
Use OptionMonoid
Rename to lift and sumBefore
Change function of lift

Now returns MonoidAggregator[A, Option[B], Option[C]].
Also update and simplify some tests, and style fixes.
MonoidAggregator.sumBefore returns MonoidAggregator
Merge pull request #380 from danielhfrank/lift-aggregators

Lift methods for Aggregator and MonoidAggregator