Add Aggregation Support

We are attempting to migrate from an in house mongojack like solution to mongojack, however, mongojack does not have aggregation support.

This pull request includes the addition of
-Add aggregation support
-Make serialization methods public so that integrators can take advantage of the mapping functionality of Mongojack when there's a new feature in the driver, but not yet in mongojack