CSHARP-797: Make BulkWrite method internal

In 1.9.0-rc0 you had the choice of either using the BulkWrite method of MongoCollection to execute a bulk write operation, or you could choose the more verbose fluent bulk API if you wished.

In 1.9.0-rc1 we are making the BulkWrite method internal and requiring that you use the fluent bulk API instead.

To illustrate the difference between the two approaches, imagine you have an array of ids of documents you want to delete:

    var ids = new BsonValue[] { 1, 2, 3 };

Using the BulkWrite method you could use LINQ to transform the list of ids into a list of delete requests and pass them to the BulkWrite method:

    collection.BulkWrite(new BulkWriteArgs { Requests = ids.Select(id => (WriteRequest)new DeleteRequest(Query.EQ("_id", id))) });

Using the fluent bulk API you need to create an intermediate builder object and use it in a foreach loop to build up the multiple delete requests, and then call Execute on the intermediate builder object:

    var bulk = collection.InitializeOrderedBulkOperation();
    foreach (var id in ids)
    {
        bulk.Find(Query.EQ("_id", id)).RemoveOne();
    }
    bulk.Execute();

This change was made to make the .NET driver consistent with other drivers, where the fluent bulk API is the only way to create and execute batch writes.