Feature/mongo 2.6.5 aggregation cursor

Implements the new interface for aggregate, returning a cursor when a callback isn't provided and a `toArray` method that supports "synchronous" mode.
We've used this nearly everywhere in our code for the handling default values of optional args to functions.