SERVER-10165 aggregate() shell helper now returns a cursor

The actual change is in src/mongo/shell/collection.js with the remaining changes
to adjust tests to the new api.

The "ideal" arguments are now an array of pipeline ops and an optional object
with extra top-level options for the command (such as {explain: true}. For
backwards compatibility, we still support the varargs style where each argument
is a pipeline stage, but there is no way to specify extra parameters in this
mode.
SERVER-11084 Error when mixing --gcov and --cache
Rip out ExpressionFieldRange

Most of its logic wasn't actually hooked up so it doesn't actually offer much
advantage over ExpressionCompare. When we go to actually implement these
optimizations, it should be generic, not just for FieldPaths.
Rip out Expression::toMatcherBson()

It isn't called by anyone and most remaining implementations are verify(false);
SERVER-6405: remove dead code and move things around
SERVER-11089 Make test more resilient to reconnects on reconfig.
SERVER-6405: fix dropCollection error reporting
SERVER-6405: move profile check from _dropNS to dropCollection
SERVER-8510 Add comments in JSON config files
SERVER-8510 Make initializer groups for the four stages of option handling
SERVER-9660 use buildinfo instead of serverStatus in config upgrade
SERVER-10471 for multikey indices only assign one pred to each field
SERVER-10471 hint can be key pattern or name
SERVER-10471 set a limit when a limit is requested
SERVER-10471 remove bad selectivity guess
SERVER-10471 fix intervals generated for minkey/maxkey lt(e) gt(e), modify spigot
SERVER-10471 fix bounds checker bug
SERVER-10471 migrate plan cache tests to tmp directory during migration
SERVER-10471 route 2d geonear queries to old system
SERVER-10471 some commenting