SERVER-14668 Fix compile break due to a previous commit
Revert "SERVER-14668: Replace uses of DBWrite lock with DBLock"

This reverts commit da599844c97ef6d290c03e073a9bafe41c1a914e.

Conflicts:
	src/mongo/db/repl/repl_coordinator_external_state_impl.cpp
	src/mongo/dbtests/counttests.cpp
	src/mongo/dbtests/querytests.cpp
SERVER-13635: add a key/value -> storage engine interface to simplify other work
SERVER-14805: log oplog application progress during initial sync
SERVER-15446: handle ok:0 and unauth heartbeat responses
SERVER-15480 Comment out CursorPointsToSamePlaceRegardlessOfDirection.

This test fails on OS X 10.8 C++11 DEBUG due to an invalid static
cast in both Heap1BtreeImpl::ForwardCursor::pointsToSamePlaceAs and
Heap1BtreeImpl::ReverseCursor::pointsToSamePlaceAs.

Closes #811

Signed-off-by: Benety Goh <benety@mongodb.com>
SERVER-15525 Disallow specifying both inline and sharded in MapReduce out options
SERVER-15487 added 'command' mode to run commands on database
             extended processFile() and gotObject() to accept output stream
             removed 'applyOps' mode
             general code clean up - removed options that are either unused or replaced by --mode
SERVER-14966 check array size for geoHaystack indexes
SERVER-15392 safely parse geoNear command limit as long value
SERVER-15506 batch_write_command_delete.js generates too much output
SERVER-15521 Make SCRAM-SHA-1 default pw algo in shell
SERVER-15446: refine required fields for heartbeat responses
SERVER-15399 Make networking in  ReplicationExecutor::NetworkInterface asynchronous.

Fully virtualizes time and network scheduling in NetworkInterfaceMock implementation,
and updates tests accordingly.
Allow fuller virtualization of time in replication executor for testing.
SERVER-15458 Change ElectCmdRunner to use an OID for election rounds, not a long long.
SERVER-14561 Change topology coordinator heartbeat processor to return a status, not be a callback.

Heartbeat scheduling requires the replication coordinator to take action during a heartbeat processing
callback, so we cannot schedule the heartbeat processor directly on the topology coordinator.  Instead,
schedule it in a callback in the replication coordinator, and make a regular function call into the
topology coordinator.  This is the preferred interface to the topology coordinator, in general.
SERVER-14561 Heartbeat callback and scheduling.

With this change, the ReplicationCoordinatorImpl should have full heartbeat support, including
primary step-down, standing for election, and heartbeat reconfig.  Unit test coverage is light,
but present.  Every test that needs to set member state to primary or fall back to secondary
exercises the code, along with a unit test of the joining-a-new-node-to-a-replica-set behavior.
SERVER-15399 Implementation of NetworkInterface that uses its own thread and connection pools.

Behavior is believed to match that of ScopedConn.
SERVER-14447 Implementation of processReplSetReconfig for ReplicationCoordinatorImpl.
SERVER-14561 Set heartbeat "from" field and "version" fields like v2.6 when the node has no config.