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
SERVER-14436 Introduce replica set tag, pattern and match types.

For use in replica set configurations, write concerns satisfaction and read preference.
SERVER-12751 remove BSONBuilderBase
SERVER-9570 SERVER-9572 Default install prefix to subdirectory of selectable build dir

In addition, move the .scons directory to a subdirectory of the build
directory. This makes all build artifacts not installed to '#' live under the
build directory.
SERVER-14343 Build fast and loose by default
SERVER-11290 Don't actually build static libraries

We don't currently use the static libraries, they are just nodes in our
dependency graph. Since they are unused, building them wastes time and disk
IO.

We still need to generate the files to appease scons. They are filled with a
UUID on the assumption that if scons thinks that a library needs to be rebuilt
then anything that depends on the library should also be rebuilt.
SERVER-2442: clean up listCollections
SERVER-12517: add listIndexes command
SERVER-2442: listCollections command used in shell
SERVER-12517: listIndexes in mongos