DATAMONGO-586 - Support for Mongodb Aggregation Framework.

Integration & Refactoring of github contribution by 
Tobias Trelle and Sebastian Herold.
Switched from builder-style to static factory based DSL construction of aggregation specifications. 
Introduced embedded DSL for convenient construction of aggregation specifications.
Added test cases based on mongodb aggregation framework examples.