SERVER-7767 Implement a validator for compatibility and extended privilege documents.

This will be for use in validating inserts and updates to system.users collections.
SERVER-7767 Validate system.users documents on insert and update.
SERVER-7822 SERVER-7976 pragma-out windows s2 warnings
Merge branch 'accept_new_docs'
SERVER-7572 Remove more old-style authorization checks
SERVER-7572 Remove Client::isAdmin
Add validate_user_documents.js to multiversion skip list
SERVER-7122 Add required privileges to experimental indexStats and storageDetails commands
SERVER-7122 Remove default implementation of addRequiredPrivileges
SERVER-4237 Make sync_passive2.js more robust
SERVER-7572 Update auth checking of serverStatus sub-sections
SERVER-2001 add startup test to validate hash function
SERVER-7572 Fix compile by removing last caller of ServerStatusMetricField that was passing an adminOnly field
fix s2nearcursor's yielding behavior
SERVER-5848 further simplifications to default suitability() method
Remove dead code
Fix test to not use collection.aggregate since it needs its own error handling

Follow up to SERVER-6195
Use StringData rather than c-strings internally in Document
Increase timeout for awaitReplication in sync_passive2.js
Call setLastError when commands fail