run unordered bulk operations in one batch per write-type

RUBY-676
Headroom defined for max sizes with correct handling

RUBY-676
sort_by_first_sym for old Rubies, suggestions from code review

RUBY-676
platform dependencies for max size exception tests

RUBY-676
Merge branch '1.x-stable-ruby-676' of github.com:gjmurakami-10gen/mongo-ruby-driver into gjmurakami-10gen-1.x-stable-ruby-676
CollectionWriter refactoring

RUBY-676
max_write_batch_size accessor for performance tests

RUBY-676
bulk write exception result and emulation with old write operations

RUBY-676
bulk write test fix for emulation with old write commands

RUBY-676
minor: making some readme improvements

* slimmed down existing readme, made it easily consumable (the "5 min readme")
* added clear sections for compatibility, installation, usage, etc.
* moved mixed tutorial content into the wiki and provided a link
* updated text all over, made consistent with 2.0 driver readme
minor: typo in ruby platform support for 1.x version of the driver

We don't actually support rbx in the 1.x driver. This was an accidental copy from the 2.x readme where we do support rbx.
Merge branch '1.x-stable-ruby-676' of github.com:gjmurakami-10gen/mongo-ruby-driver into gjmurakami-10gen-1.x-stable-ruby-676
RUBY-701 fixing missing pid attribute on unix socket type

One of these things is not like the others. This missing pid attribute on Mongo::UnixSocket was causing Pool#checkout to always issue a new new socket instance when using unix domain sockets.
assert_match as suggested in pull #317

RUBY-676
write_concern from opts for Collection#batch_write_incremental

RUBY-676
refactor rescue OperationFailure out of batch_message_send

RUBY-676
refactor legacy insert return out of batch_write_incremental

RUBY-676
refactor BulkWriteError out of batch_write_incremental into BulkWriteCollection#execute

RUBY-676
refactor "raise" out of batch_write_incremental

RUBY-676
refactor benefit - remove superfluous code

RUBY-676