bulk: stub out bulk api.
bulk: use command array to track commands as they are added.
bulk: execute should take const write concern.
bulk: move write concern to constructor.

By having the write concern up-front, we can opportunistically start
writing data to the underlying socket instead of waiting for execute
to be called. This allows us to avoid extra data copies for documents.
bulk: store write concern.
bulk: wip on building bulk ops.
bulk: add deletes.
bulk: use update command for replace.
bulk: add mongoc_collection_create_bulk_operation().
bulk: ensure we have a write concern, even if its the default.
bulk: start on test for bulk api.
bulk: return false immediately on empty set.
bulk: we need the database name too for the command.
bulk: stub out sending write command.
bulk: add some implementation notes.
bulk: stub out response merging.
bulk: start building the response document.
ignore: allow using data/ for temp mongod processes.
bulk: start merging reply documents.
bulk: add fields for storing additional reply info.