rewrite sererStatus caommands to be modular
  allow any code to register sections or metrics without touching core code
  have same core serverStatus code for mongos and mongod

Conflicts:
	src/mongo/SConscript
	src/mongo/db/btree.cpp
	src/mongo/db/clientcursor.cpp
	src/mongo/db/d_concurrency.cpp
	src/mongo/db/db.cpp
	src/mongo/db/dbcommands.cpp
	src/mongo/db/dur.cpp
	src/mongo/db/pdfile.cpp
	src/mongo/db/record.cpp
	src/mongo/db/repl.cpp
	src/mongo/db/repl.h
	src/mongo/db/repl/bgsync.cpp
	src/mongo/db/stats/counters.cpp
	src/mongo/db/stats/counters.h
	src/mongo/s/commands_admin.cpp
	src/mongo/s/d_writeback.cpp
	src/mongo/s/s_only.cpp
split serverStatus().mem into Metrics so don't need mmap in mongos

Conflicts:
	src/mongo/SConscript
	src/mongo/db/db.cpp
SERVER-7122 Add required privileges to a few more commands

Conflicts:
	src/mongo/db/auth/authorization_manager.cpp
	src/mongo/db/commands/pipeline_command.cpp
	src/mongo/db/commands/server_status.cpp
SERVER-7572 Update auth checking of serverStatus sub-sections

Conflicts:
	src/mongo/db/btree_stats.cpp
	src/mongo/db/btree_stats.h
	src/mongo/db/client_basic.cpp
	src/mongo/db/db.cpp
	src/mongo/db/dur.cpp
	src/mongo/db/pdfile.cpp
	src/mongo/db/record.cpp
SERVER-8071 allow surpressing metrics section of serverStatus
SERVER-7646 - track how many docs TTL deletes

Conflicts:
	src/mongo/base/counter.h
	src/mongo/db/ttl.cpp
SERVER-7572 Fix compile by removing last caller of ServerStatusMetricField that was passing an adminOnly field
SERVER-1739 - clean db profiling api in Database and fix nscanned

Conflicts:
	src/mongo/db/curop.cpp
	src/mongo/db/database.cpp
	src/mongo/db/database.h
	src/mongo/db/dbcommands.cpp
	src/mongo/db/ops/query.cpp
	src/mongo/db/ops/update.cpp
	src/mongo/db/pdfile.cpp
SERVER-1739 - trace total nscanned so can graph / over time

Conflicts:
	src/mongo/db/instance.cpp
SERVER-1739 - change path and more things to track

Conflicts:
	src/mongo/db/curop.h
	src/mongo/db/instance.cpp
SERVER-1739 - add ninserted and ndeleted

Conflicts:
	src/mongo/db/instance.cpp
SERVER-1739 - change query to operation
don't check for db.serverStatus().metrics on mongos
fix slowNightly sharding passthrough with find1
SERVER-8914: rename document.scanned metric
SERVER-8119: add a timer for how long getLastError wtime takes

Conflicts:
	src/mongo/db/dbcommands.cpp
SERVER-8119: add TimerStats class for collecting timing information
SERVER-8203: replication metrics

Conflicts:
	src/mongo/base/counter.h
	src/mongo/db/namespacestring.h
	src/mongo/db/oplogreader.h
	src/mongo/db/pdfile.cpp
	src/mongo/db/prefetch.cpp
	src/mongo/db/repl.cpp
	src/mongo/db/repl/bgsync.cpp
	src/mongo/db/repl/bgsync.h
	src/mongo/db/repl/rs_sync.cpp
SERVER-7717 Removed ops section from serverStatus

Conflicts:
	src/mongo/s/mongos.vcxproj
	src/mongo/s/mongos.vcxproj.filters
	src/mongo/s/strategy_shard.cpp
added ft-specific values to serverStatus #626 #591

closes #626