Lift methods for Aggregator and MonoidAggregator

This can be 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.
wouldn't this do it:

```scala
min.composePrepare { list: List[Int] => AverageAggregator(list) }
```
You want a way to put an Aggregator in your Aggregator more explicitly?

```scala
def composeAggregate[A0, B0](a: MonoidAggregator[A0, B0, B]): Aggregator[TraversableOnce[A0], B, C]
```