RUBY-548 As an engineer, I want to improve code coverage
SimpleCov must load before our code - and when properly configured, a coverage report summary line will print after each test suite run
gem 'test-unit' is explicitly needed in test_helper.rb for Test::Unit::TestCase.shutdown
Test::Unit::TestCase.shutdown is run to clean up after an individual test
Test::Unit::TestCase.shutdown is run once for replica set via mock test suite
rake tasks should be executed (not invoked) because we want to re-execute them, once for with-ext
 (test:ext) and once without-ext (test:ruby)
Initial coverage is 79.78%
RUBY-550 adding test to reproduce timeout socket mangling
Support read preferences in URI parser.

This will parse and add read preference options from the uri parser and
add them to the connection options when asking for them. This makes the
assumption that we must be in a replica set to set the options, and will
override the slaveOk flag if it is also present.

The fix for RUBY-541 will change this slightly to assume it can be set
for replica sets and sharded clients.

[ RUBY-547 ]
Initialize MongoShardedClient with MONGODB_URI.

This fixes the errors that were occurring when instantiating a
MongoShardedClient when a MONGODB_URI environment variable is present.
This also fixes MongoShardedClient.from_uri to properly get a
MongoShardedClient connection from the URIParser.

[ RUBY-541 ]
RUBY-554 disable caching in java extension
RUBY-556 fix potential deadlocks with broadcast
RUBY-550 socket util module and refactoring
RELEASE 1.8.3.rc0
generate distinct SimpleCov command names and pass them via ENV to test_helper

RUBY-548 As an engineer, I want to improve code coverage
coverage 86.7%
bson tests for complete coverage except JRuby, Ruby 1.8, HashWithIndifferentAccess and debug to $stdout

coverage is now 87.3%

RUBY-548 As an engineer, I want to improve code coverage
BSON Code inspect test for Ruby 1.8.7 unordered Hash

RUBY-548 As an engineer, I want to improve code coverage
minor: adjusting replica set size for testing, need more than one secondary
eliminate minus sign obj addr mismatch for BSON Code inspect w/ Ruby 1.8.7

RUBY-548 As an engineer, I want to improve code coverage
test that cursor operations must be on the same pool

make sure to checkout from same pool

RUBY-545 KillCursors gets sent to wrong member

RUBY-550 socket util module and refactoring
RUBY-545 ensure KillCursors gets sent to right member
use tags for cursor count tests and wait for replication on secondaries

RUBY-545 KillCursors gets sent to wrong member

RUBY-550 socket util module and refactoring
Propagate writes to 3 nodes where applicable in tests
write concern :w => 4 for test_safe_mode_w_failure

also other :w => 3 where appropriate to match 3 members

RUBY-545 KillCursors gets sent to wrong member
minor: fixing db names in tests, standardizing on MONGO_TEST_DB