bulk write fluent API merged result, including refactoring of bulk execute into command and operation writers

This pull request brings the Ruby implementation close to feature complete.

Remaining work includes wtimeout / replication error testing and handling, convergence of specification and implementation (some from both sides).

Tests show that batch_write_partition provides substantial performance improvements, and can be essentially fully compatible (one serialization per batch instead of one serialization per document, but binary division in case of a serialization error).