min_wire_version test fix but replica set connect needs review

RUBY-683
Merge branch 'gjmurakami-10gen-1.x-stable-ruby-683' into 1.x-stable

fix max values test for replica set
Update to arbitrary command opts, which need to be merged into the selector
client exception if wire version not in range on connect

RUBY-683
RUBY-686 some additional authentication prep and cleanup

* standardizing some terminology in client/db (connection -> client)
* removed yardoc extension and update yardopts
* removed @core tag references (mongodb.org docs don't support this anymore)
* added some references to thread back so that if the order of things in the loadpath change references to Mutex/ConditionVariable will still work.
* moved authentication related functionality to a new auth module
Merge branch '1.x-stable' into 1.x-stable-ruby-683
wire_version_in_range exception text typo fix

RUBY-683
check_wire_version_in_range refactoring

RUBY-683
BSON::Grow push methods append to array with correct keys

RUBY-676
BSON::Grow push_doc! and push_doc

RUBY-676
RUBY-699 renaming server_op_timeout option to max_timeout_ms
Merge branch '1.x-stable-ruby-676' of github.com:gjmurakami-10gen/mongo-ruby-driver into gjmurakami-10gen-1.x-stable-ruby-676
BSON::Grow#clear! clears internal state to allow reuse

RUBY-676
pre-serialized bson for DB#command

RUBY-676
batch_write_incremental / old API completed

RUBY-676
minor: fixing typo in constant comment
RUBY-690 Test that aggregate supports explain option
Don't merge in named nil opts into command selector
RUBY-669 Support aggregation out pipeline operator
Check for the existance of a key instead of checking key value