Add infrastructure for saving WiredTiger metadata in it's own table.

This will lead to us using logical names for tables and indexes, rather
than the MongoDB names.
SERVER-15062 change redundant branch to invariant
SERVER-15371 SERVER-15062 test election behavior in the TopologyCoordinator
SERVER-15251 tests for FreshnessChecker's ScatterGatherAlgorithm
SERVER-15250 tests for ElectCmdRunner's ScatterGatherAlgorithm
SERVER-13635: honor --storageEngine for small oplog tests
TOOLS-198 allow use-new-tools to switch MSI binary path locations
Switch collections to using explicit metadata.
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into metadata-table
Fixup name generating in WiredTiger metadata mapping.
SERVER-14668: Replace uses of DBWrite lock with DBLock

This reverts commit 8e83e72512fcb8eb8f06987927766c0b77cea23e.

This reinstates commit ae333bc94a7d89d3220dcae9579fcaf68aa2e290
and commit 962f959a09b63aa0482d7e0c9bad89363d1e1194, and fixes
three cases where the wrong database name was locked.
Update README

Updated description of MMS.
Added MongoDB University link.
Fixup build warnings and add missing file.
More switching WiredTiger to using a separate metadata table.

Still not ready for merging.
Only return indexes in index search.
SERVER-15484 flush stdout before exiting Shim::doRun()
BUMP 2.7.7
post 2.7.7
SERVER-15404 SERVER-15466 Hook up Applier draining and force syncing to new Replication Coordinator Impl