initial write operation refactoring for remove and update

RUBY-676
write operation refactoring for generate_indexes

RUBY-676
clarify op_type and op_code, fix build for rake test:commit

RUBY-676
fix typo in Mongo::Collection#find_and_modify documentation
max_wire_version from isMaster message maxWireVersion

RUBY-676 New write operation method for insert, update, remove
Merge remote-tracking branch 'origin/1.x-stable' into 1.x-stable
fix populate pools correctly

RUBY-676 New write operation method for insert, update, remove
write operation refactoring
add documentation for upsert opt. on Collection#find_and_modify
minor: further improving Collection#find_and_modify documentation
RUBY-669 support out aggregation pipeline operator