return errors before response for batch_write_incremental

preparation for making coherent return of db op responses

RUBY-676
bulk API comprehensive return value or exception - errors and exchanges

RUBY-676
minor: shared test re-organization for new auth types
minor: refactoring the ssl test suites to remove some redundancy
minor: removing vestigial call to deprecated Client#authenticate_pools
RUBY-691 adding coveralls, fixing bundle groups and rakefile
RUBY-691 removing unused and redundant tests
RUBY-691 adding test helpers and refactoring test_helper
RUBY-691 standardizing class names, constants, db names
RUBY-691 refactor of testing.rake tasks
Merge branch 'gjmurakami-10gen-1.x-stable-ruby-676' into 1.x-stable
minor: mistakenly revserse this logic for local test cleanup
write command fixes for special fields and :w symbol value

fix command with bson grow and query_contains_special_fields?

fix :w symbol value

RUBY-676
Merge branch 'gjmurakami-10gen-1.x-stable-ruby-676' into 1.x-stable
minor: defaulting extra_opts to an empty hash in URIParser#connection

Super minor.

I noticed this while working on an issue in MongoMapper last week. I was creating a client instance from a connection string and was annoying to me that I had pass an empty hash to this method.

Before:

Mongo::URIParser.new(uri).connection({})

After:

Mongo::URIParser.new(uri).connection
RUBY-698 Support optional Regex compilation with pure Ruby de/serialization
RUBY-698 getmores need to pass down compile_regex option as well
RUBY-698 Support optional Regex compilation in c ext de/serialization
RUBY-698 separate flag logic in serialization for each regexp type
RUBY-698 Refactoring, separating flag definitions for bson and core regex, name change