Fluent Aggregation Builder

This PR adds a fluent aggregation builder handy for creating Mongo aggregation pipelines with out having to create JSON by hand. You use the aggregation the way you would assemble a mongo query pipeline in JSON Best illustrated by example:

Take for instance a customer collection, with each customer having a nested array of users:
```
{
   _id : "53051e678927e20c10f13295",
   name: "Foo Inc."
   users: [
     { 
} 

}
```


'