Separated aggregate explain functionality into its own Operation implementation.
Removed ChainingServerSelector in favor of CompositeServerSelector.
Moved all common selectors in to org.mongodb.selector
Changed name of ServerSelector choose method to select
Added ServerSelector to ClusterSettings, to be applied as the final selector in calls to Cluster.selectServer
Making InlineMongoCursor package private
Move handling of query document creation to QueryOperation.
Removed AggregationCursor and replaced with MongoQueryCursor, which can now handle the aggregation use case