CSHARP-790: Added support for MaxTime to FindOneAs and use FailPoints to test MaxTime.
CSHARP-790: Only use FailPoint to test MaxTime if server we are connected to supports it.
CSHARP-790: Fix issue with default ReadPreference for FindOne.
CSHARP-790: Renamed private field in FailPoint class.
Added FeatureTable to make it easier to test whether a feature is supported. This also competely isolates code that needs to know if a feature is supported from knowing how to detect if a feature is supported.
Moved feature detection logic out of FeatureTableCreator and into a family of FeatureDetector classes (two for now, one for version dependent features and another for features that depend on a server parameter being set).
Added FeatureDetector and implemented it in terms of IFeatureDependency implementations: ServerParameterDependency, ServerVersionDependency and WireVersionDependency.
Removed Feature class and replaced FeatureTable with FeatureSet.
Made FeatureSet an internal class. Removed checking of WireVersion for now since server team hasn't yet defined what the values mean.
CSHARP-800: Get the output collection name from the $out stage in the pipeline instead of from the aggregate command result (because the server no longer reports the output colleciton name in the command result).
On the recommendation of the server team use fail points with "alwaysOn" instead of { times : 1 }.
CSHARP-834: Implementations of IConvertible.ToType should support conversion to type object
CSHARP-787: added x509 protocol.
CSHARP-787: added x509 support to MongoCredential and connection strings.
fix a bug preventing the proper exception being thrown upon an authentication failure.
little cleanup.
CR comments.
Reduce the number of times getParameter is called in production and allow providing the value of a server parameter via an environment variable (useful when authorization prevents use of the getParameter command).
CSHARP-841: Allow AutoIndexId and Capped to be set to false as well as true.
CSHARP-840: Handle $where correctly in Query.Not.