Bulk API

This is the basic structure for the Bulk API.

Many lines of the specs are commented out because Collection needs to be finished before inserts and other operations can actually be performed.

What is left to do is:

  - Define Exceptions
  - Write code to process the response from different server versions
  - Evaluate performance and optimize