SERVER-8678 Implement automated config schema upgrade from v4 to v5

Correctly set timestamp in config.collections.
SERVER-9818 allocate socket file descriptors before opening datafiles
SERVER-10707 use ScopeGuard to close sockets in setupSockets

fixes coverity leakage report
SERVER-10285 uassert that s2latlng is valid, print out if it's not
SERVER-8375 sync from primary on clock skew

testing this was difficult (as we couldn't manage to simulate a cycle)
what I eneded up doing was:
    1. added a fail point to oplog such that when the fail point is active the new code will be hit
    2. altered sync_passive2.js (because it had chaining in it) to do the chaining portion twice with the failpoint active the second time to make sure the new code caused us to sync from the primary again
    3. https://gist.github.com/dannenberg/dcda9353b637edda6a16 for the full diff
SERVER-10688 sync6.js - verify failed in DistributedLock:lock_try

Gracefully give up trying to acquire lock when detected unexpected lock state change.
SERVER-10724 better exception handling in health poll
SERVER-2212 Move ExceededTimeLimit error code to semantic code range
SERVER-9252 use the correct config key for pid file
SERVER-9252 use [[:blank:]] instead of \s
SERVER-9518 Rename AuthzUpgradeLockGuard and make it a generic guard for AuthorizationManager.
SERVER-9518 Implement functions in mongos and mongod for locking authorization data
SERVER-9518 Add diagnostic "why" argument to authz data locking
SERVER-9766 Remove support for separate client driver package
SERVER-9766 Don't fail the build on missing system libraries unless they are in demand
SERVER-10462 compensate for Windows file locking race
Update README to include backup and monitoring resource

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
SERVER-8535 Added exception logic to filesystem::exists call

Many of our calls to boost::filesystem::exists() do not treat it
as a function that throws exceptions. Adding logic to catch these
can stop various obscure permissions-related problems.

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
SERVER-3442: mongoimport takes collection name from filename like mongorestore

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
SERVER-10471 Fleshing out the new query planner / enumerator