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);