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).
Rebased on master and squashed.
Changed ReadWriteConcern so that it always reads. Callers are now responsible for deciding whether to call it or not. A very small amount of extra code at the calling site but removes the subtle fact that ReadWriteConcern was sometimes a no-op.
CSHARP-797: Added BulkModify (stubbed out for now, server doesn't support batches with mixed operations, but we can emulate that by finding runs of each operation type and sending those as batches). Also added params versions of BulkModify methods to make calling them friendlier.
stash
Initial implementation of BulkModify (executing runs of operations of the same type).