Changes all usages of runMongoProgram(<mongo tool>, ...) to
MongoRunner.runMongoTool(<mongo tool>, {...}) to take advantage of the
--dialTimeout command line option supported by the mongo tools.
Adds support for specifying positional arguments to
MongoRunner.runMongoTool() in order to support all invocations of the
bsondump and mongofiles tools.
As a temporary compatibility measure, the legacy behavior is preserved
if the "cursor" option is not sent with the command. This
compatibility layer will be removed as part of work for the parent
ticket.
The affected tests depended on a behavior of mongodump and mongorestore in 2.2
and prior, whereby the tools would attempt authentication via the users'
credentials against several databases, until one matched. This behavior is
risky, because it could leave the tool authenticating as a user with
insufficient privilege to do its task, and it is inconsistent with other tools.
The tool behavior in 2.4 is to authenticate against the target database if one
is supplied, or admin if none is supplied, unless the user overrides this
behavior by passing --authenticationDatabase=dbname to the tool.