fixes #621 remove unnecessary tests
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