SERVER-10758 Strict Epoch comparison

Set epoch correctly when shard does not have a chunk.
SERVER-11867 Do not use NumberLong constructor in JS JSON output mode
SERVER-11758 prevent notifier thread from aborting when ensureMe fails
Add basic jstest for user defined roles
Rename mongoDumpGlobalParams.outputFile to mongoDumpGlobalParams.outputDirectory
SERVER-10026 git rid of $and match expressions with a single child

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
SERVER-11766 Use "enterprise" instead of "subscription" in release archive filenames
SERVER-11769 Only remove mongosniff when generating packages if it's there
SERVER-11958 renew server.pem certificate
SERVER-3364,SERVER-5650 Move documenation of MONGO_COMPILER macros to compiler.h.

This deduplicates documentation, hopefully preventing the documentation from diverging.
SERVER-11938 Get collection metadata at ShardFilterStage build time
SERVER-11941 Don't use buffered output in rawOut

As part of this change, rawOut was limited to either stdout or stderr which covers all current uses.
SERVER-11953 Replace PipelineCursor with PipelineRunner

This removes the last required use of the Cursor class so it can be removed.

As part of this change the requiresLock and shouldDestroyOnNSDeletion attributes
of Cursor were combined into ClientCursor::isAggCursor. The Cursor versions
(and related code) were left in place since it will be deleted soon anyway.
SERVER-10900 - When building MSI for enterprise edition use third party notices file from enterprise repository
SERVER-11144 Allow options to be set to the same value again, but fix this case in jstests
SERVER-10026 returnKey in new system
SERVER-10026 remove query spigot and old find impl
SERVER-10026 cleanup positional projection operator validation