Separated aggregate explain functionality into its own Operation implementation.
Changed name of ServerSelector choose method to select
Removed ChainingServerSelector in favor of CompositeServerSelector
Moved all common selectors in to org.mongodb.selector
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