SERVER-6296 Batch fetching in DocumentSourceCursor

The main win here is not grabbing and releasing the read lock for each
document to be processed.
DocumentSourceCursor should be limit-aware

Follow-up to SERVER-6269 to prevent fetching more documents into a batch
than needed.
Enhance SERVER-9444 test to use cursors
SERVER-9518 Implement functions in mongos that are necessary for building up User cache from v1 user docs
SERVER-9811 Better error for query on the $cmd namespace without a limit of 1
Fixup 'breaking changes' tests
SERVER-10148 assert.throws() whitespace changes
SERVER-10148 Add assert.doesNotThrow() javascript shell function