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
SERVER-13635 Allow KVEngines to opt out of doc-locking
SERVER-1153 Clean up Heap1RecoveryUnit and implement recordChange()
SERVER-1153 Improve RecordStoreHeap

* Now supports rollback
* No more reinterpret_cast<>
* Fixed an iterator invalidation bug in the reverse iterator
SERVER-13635 Have KVCatalog do locking if the storageEngine doesn't support doc locking
SERVER-1153 Heap1 is now using KVEngine
SERVER-13635 Add StorageEngine::isMmapV1()
SERVER-13635 KVStorageEngine metadata rollback
SERVER-15813 Update documentation of SortedDataInterface.
SERVER-15662 Reenable test that used to fail due to race condition.
SERVER-15740 Do not transition from RS_STARTUP to RS_REMOVED directly.

If a node is in RS_STARTUP (because it has no replica set configuration) and it learns of a
configuration that does not contain it, the correct behavior is to ignore the new configuration and
stay in RS_STARTUP, not to save the new configuration and enter RS_REMOVED.
SERVER-13635 Fix kv_engine_test_harness.cpp

Fixes build break introduced in 49837594e7c52e2426d6b08dfa8131b4b3590e40
SERVER-15604 log component kControl
Revert "SERVER-15662 Reenable test that used to fail due to race condition."

This reverts commit a3dd680c584ff19272a6e3b70fd4a308c6e8238a.
SERVER-15527 change explain index bounds format from verbose string format to BSON format