SERVER-11196 ensure .deb and rpm packages conflict with mongodb-server, mongodb-dev, and mongodb-clients

Signed-off-by: Ernie Hershey <ernie.hershey@10gen.com>
SERVER-11222 Refresh invalid users exactly once per command authorization check
SERVER-11204 Catch c++ exceptions in JSThread
SplittableDocumentSource shouldn't inherit from DocumentSource
SERVER-4816 Sharded agg $sort now merges sorted streams

This enables using indexes for sorting on shards, and gives better distribution of work.

Explain before:

mongos> db.runCommand({aggregate:'foo', explain:true, pipeline: [{$sort: {_id:1}}]})
{
        "splitPipeline" : {
                "shardsPart" : [ ],
                "mergerPart" : [
                        {
                                "$sort" : {
                                        "sortKey" : {
                                                "_id" : 1
                                        }
                                }
                        }
                ]
        },
        "shards" : {
                "shard0000" : {
                        "host" : "localhost:30001",
                        "stages" : [
                                {
                                        "$cursor" : {
                                                "query" : {

                                                },
                                                "indexOnly" : false,
                                                "cursorType" : "BasicCursor"
                                        }
                                }
                        ]
                }
        },
        "ok" : 1
}

Explain after:

mongos> db.runCommand({aggregate:'foo', explain:true, pipeline: [{$sort: {_id:1}}]})
{
        "splitPipeline" : {
                "shardsPart" : [
                        {
                                "$sort" : {
                                        "sortKey" : {
                                                "_id" : 1
                                        }
                                }
                        }
                ],
                "mergerPart" : [
                        {
                                "$sort" : {
                                        "sortKey" : {
                                                "_id" : 1
                                        },
                                        "mergePresorted" : true
                                }
                        }
                ]
        },
        "shards" : {
                "shard0000" : {
                        "host" : "localhost:30001",
                        "stages" : [
                                {
                                        "$cursor" : {
                                                "query" : {

                                                },
                                                "sort" : {
                                                        "_id" : 1
                                                },
                                                "indexOnly" : false,
                                                "cursorType" : "BtreeCursor _id_"
                                        }
                                }
                        ]
                }
        },
        "ok" : 1
}
Rename SplittableDocumentSource::getRouterSource to getMergeSource

In 2.6 it won't run in mongos any more so it became a misnomer.
Allow agg Expressions to have differing serializations and explains

Currently only used by ExpressionCoerceToBool which can't be parsed directly so it serializes as an
$and which then optimizes to $coerceToBool.
DocumentSourceGroup should optimize its Expressions
Clean up ExpressionCompare
Remove unused step and nRowsOut members from DocumentSource
Get rid of DocumentSourceFilterBase

Since we removed DocumentSourceFilter it is only inherited by DocumentSourceMatch.
Clean up Pipeline::getInitialQuery() and DocSourceMatch::toMatcherBson()

Both now return a BSONObj rather than appending to a passed-in builder.
DocumentSourceMatch::toMatcherBson become getQuery().
SERVER-11184 Merge consecutive $match stages in agg
SERVER-11224 Update help for aggregate command
SERVER-11250 Add DBCommandCursor.help() method in shell

Also cleaned up DBQuery.help() slightly
SERVER-11222 Fix unit test by manually refreshing invalid users when necessary
Clean up AccumulatorAvg

Major change is not inheriting from AccumulatorSum

Prep for SERVER-5044 $stdDev accumulator
SERVER-11216 Interrupted geoNear commands on mongos don't return an error code

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
SERVER-11135 fixed appendNumber(long long) and appendIntOrLL to handle std::numeric_limits<long long>::min()
SERVER-11260 Remove all code related to advanced role delegation