SERVER-14407 make PlanExecutor own the canonical query
SERVER-13764 update system retrieves nscanned / nscannedObjects from plan executor
SERVER-14522 add fassertFailedWithStatus() to errorcodes.py checking
Make errorcodes.py return a non-zero code on failure
SERVER-14528 Move HostAndPort::me into a file-local method in LegacyReplCoordinator.
SERVER-14311 account for key skips in plan ranking by returning NEED_TIME in the index scan stage
SERVER-14413 box mmapv1 further, retire structure directory
SERVER-14311 fix plan ranking dbtest
SERVER-14343 leaner include paths
SERVER-14494 SERVER-14505 ensure that IndexBuildBlock::fail() can never throw
SERVER-14524 move jsobj.cpp components into proper files
SERVER-14526 Introduce ASSERT_THROWS_WHAT and ASSERT_THROWS_PRED to the unittest framework.
SERVER-14527 Remove erroenous expectations about setting of last error from dbtests.

Commands are not guaranteed to set last error, except for the write commands and forceerror.
This patch fixes up dbtests to not expect it.
SERVER-14527 Call setLastError explicitly on wire write failures in mongod.

Also in the forceerror command.  These are the only places where we promise to set
last error information.
SERVER-14527 Do not setLastError in assert_util.

MongoD and MongoS set it explicitly for write commands and wire writes, and in the
forceerror command, which is better than invoking it every time an assertion is
thrown.  It prevents swallowed exceptions from being reported, and obviates the
LastError::Disabled type and "last error disabled" functionality in general.
SERVER-14533 Break the foundation-lasterror-network circular dependence in build system.

The dependence was most glaringly reflected in the unittest library's dependence list,
and removing it from there required adding some missing library dependences to a few other
C++ unittests.
SERVER-14538 _appendUserInfo: don't save addr pointing to temporary

Before de724781, the return value of CurOp::getNS() had a lifetime of
the CurOp object.   As of de724781, CurOp::getNS() returns a
temporary.

_appendUserInfo() initialized a StringData from the result of
CurOp::getNS(), which was poor style but technically valid before
de724781.  As of de724781, the buffer being pointed to by the
StringData is destroyed along with the temporary, creating a
use-after-free at introspect.cpp:70 when the StringData is read.
SERVER-14549 Increased diagnostics for replsets_priority1.js test failure
SERVER-14284 cursor6.js, update_setOnInsert.js turn profiler off

jstests should not leave profiler enabled at test run end.
SERVER-14284 Tests using profiler can't run in parallel w/ each other