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.
Sorry, I forgot to mention one thing.  I think you should provide something similar to `lift`, but with this type signature:

```scala
    class Aggregator[A, B, C] {
        def toMonoidAggregator[A2] : MonoidAggregator[A, Option[B], Option[C]
    }
```

Then your `lift` becomes a combination of `toMonoidAggregator` and `preFold`:

```
example : Aggregator[A, B, C]
example.toMonoidAggregator : MonoidAggregator[A, Option[B], Option[C]]
example.toMonoidAggregator.preFold { x => x } : MonoidAggregator[TraversableOnce[A], Option[B], Option[C]]
```