SERVER-15541 Simplify the save/restore lock state code

There is no need to keep around the recursion counts, because yielding
only happens at the top-most level.
SERVER-15614 LockerImpl changes for diagnostics

* We need to be able to map back from Locker objects to the operations, which own them, so introduce a LockerId type.
* Put the internal locking logic in a separate method.
SERVER-13635: fix list race in kv database catalog
SERVER-13635: make some test storage engine agnostic
SERVER-13635: make repl test oplog storage agnostic
SERVER-15683: add optional filter to currentOpCtx command
SERVER-14412: make multi-update use collection intent locks
in shell, db.adminCommand should take 2nd optional param like runCommand
SERVER-15652: for parallel collection scan, make sure we call saveState on all iterators
SERVER-15729 make index rebuilder error message more clear
SERVER-15633 ShardingState::doRefreshMetadata should take a more granular lock than exclusive db
SERVER-14674 Shard dies during chunk migration if running repairDatabase and Compact
SERVER-15707 Fix leaks in C++ unit test framework
SERVER-15708 Don't leak stop words
SERVER-14668: Use SimpleMutex instead of SpinLock for LockManager

There can be contention on these, so spin locks are not appropriate.
SERVER-15777 findAndModify shouldn't explicitly create WriteUnitOfWork
SERVER-15797 doTTLForIndex shouldn't explicitly create WriteUnitOfWork
SERVER-15707 Fix C++11'ism and a long line
SERVER-15541 Don't do anything with MMAPV1Flush unless IsForMMAPV1
SERVER-13951 Changes that depend on rollback