add exception classes
throw new DatabaseError exception from internal _try_run_command
add max wire/batch size attributes to MongoClient
add WriteResult class
split _make_safe to allow grabbing cursor with full results
add WriteSelector class
add private _get_pid function for testing
Implement most of the bulk API for version 2.6

This implements most of the Bulk API.  It does not yet include handling
of write concerns, backwards compatibility for pre 2.6 servers, or
documentation.

The test file closely follows the Bulk API QA test plan (QA-477)
Implement legacy bulk operation fallback
clean up prerequisite detection/specification
Add write concern support to Bulk API implementation
Add bulk API tests for --nojournal and journal write concern
Add MongoDB::_Types to consolidate type definitions
Add support for arrayref and IxHash docs to Bulk API implementation
Revise and standardize error framework
add aliases for ordered/unordered bulk constructors
tidying
add DocumentSizeError class
cache database/client objects in Bulk
handle document size error from legacy batch as well