SERVER-14058 Fix deadlock in ReplicationExecutor::shutdown().

Joining the network worker thread pool cannot be done while holding the
ReplicationExecutor's _mutex, because a thread in the pool might need that
_mutex to finish its work.
SERVER-14144 Aggregation cursor error shouldn't swallow Runner error
SERVER-9710 remove _nosleep check for balancer
SERVER-14078 adapt isSelf to work with multiple local interfaces
SERVER-14069 introduce globalConfigExperiment for storage/op mgmt, make range deleter use it
SERVER-14069 fix fassert numbers
SERVER-14079: Add signal handlers to shell

The shell currently lacks the signal handlers that mongod/mongos
have making it tough to investigate issues.

This change does the following
1. Add signal handlers to shell & tools.
2. Add invalid_parameter handler for Windows
3. Add better logging for pure call handler on Windows
4. Take dumps on terminate handler on Windows
5. Change shell to use common signal handlers
6. Remove some random dead code / commented lines.
SERVER-9985: chown dirs created by upstart's pre-start stanza

Usually these are created by the the post-install script that runs after installing the package, but if those were rm'ed later on and then created by this script, their permission would be most likely set to root, causing mongod to fail starting.

Signed-off-by: Ernie Hershey <ernie.hershey@mongodb.com>
SERVER-9985 Adjust pre-script mkdir commands in upstart config
SERVER-13460 disable DurParanoid during JS scripting engine logging tests
SERVER-14138 mongos incorrectly targets multiple shards for nested field shard keys
SERVER-14032 verify _id present for upserts to multiple config servers
SERVER-14176 query planner should obey $natural sort
SERVER-13681: Remove lock that was an incorrect workaround for Azure Drive write size limitations.

- Limit flushes to 2MB chunks to prevent hitting a limitation in
Azure Network Drives (XDrive) which have a 2MB file write size limitation.
SERVER-13729: Fix Data File Growth on Windows

Reuse an existing lock to use as a lock to handle the race condition
between _flushAll, and the memory mapped file being closed instead
of holding LockMongoFilesxxx for an excessively long time.
SERVER-13792 added runtime and build-time checks for POSIX monotonic clocks. de-inlined Timer::now() implementations
SERVER-14180 fix double free in access planning for $elemMatch
SERVER-11256 improve handling of empty vs nonexistent CollectionMetadata
SERVER-11256 improve handling of empty vs nonexistent CollectionMetadata

Remove long constructor for ChunkVersion
SERVER-11256 improve handling of empty vs nonexistent CollectionMetadata

Rename ChunkVersion::isEquivalentTo to equals