PERL-366 document bulk write initialization methods
PERL-370 fixed bulk upserts with non OID _id

Prior to 2.6, upserts with non OID _id didn't return the _id in the
upserted field.  This commit detects that situation and grabs the _id
from the update document or query document.
PERL-356 split out static vs dynamic tests

Moved replica set tests that require orchestration to devel/ directory.

Amended remaining tests to run against default external tests database.
ensure master client is also in refreshed host list

The old code was creating a new MongoClient for the host list, separate
from the one stored as "master". This is potentially confusing for code
that checks if the read preference object (which gets drawn from the
host list) is the same as the master object.
PERL-368 coerce query documents into Tie::IxHash objects
updated Changes
PERL-351 skip tests if database has auth enabled
wip: bulk.t is_standalone
wip: don't test fsync locking against mongos
replace hard coded error codes with descriptive macros
don't throw low-level exceptions on command queries

Prior to this commit, the Cursor.xs code threw an exception if it saw
'$err' in a document.  This prevents command responses from being
returned, which prevents inspection of the code returned with the
error, if any.

This commit only throws on '$err' for collections other than '$cmd'.