CSHARP-797: Parameterized RequestEnumerator to make it reusable in the write command based operations.
CSHARP-797: Basic structure of InsertCommandOperation that can split large bulk inserts into batches.
CSHARP-797: Refactored Message classes so callers can choose to write the header and the body separately. The bulk write commands need to take control of writing the body themselves so that they split the bulk requests into batches.