Revert "Revert "SERVER-6071 use command on local.slaves instead of cursor""

This reverts commit 6486b4035c5ac52679eb3e1a034c925ccdd20deb.
SERVER-6071 Use command on local.slaves instead of cursor

rearranged locking to prevent deadlocks
syncSourceFeedback methods use OIDs instead of BSONObj containing OIDs now
wrapped percolate so that it is not called when it is not needed
fixing build break
SERVER-10273 Support variadic arguments to $bit in new update framework
SERVER-10275 Use size_t in pathsupport function
SERVER-10267 Remove in-place state from mods now that mutable and udpate driver handle it
SERVER-9067 Add mutable test utility for comparing docs ignoring object field order
SERVER-1891 Add redactForLogging() to Command.

Command::redactForLogging(mutablebson::Document* cmdObj) transforms "cmdObj"
into a form suitable for writing to logs.  This patch provides a sample
implementation for the user management commands that censors password fields,
and updates the audit hook for commands, appropriately.
SERVER-7175: reduce padding on inplace updates
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
Allow testing new update framework in dbtests (core) with smoke
SERVER-8748: only consider electable members during stepdown
SERVER-9365 make forced halfway split work with chunks with many docs

Additional test fixes.