SERVER-10026 SERVER-10471 planner bug fixes from going through tests
SERVER-9517 Implement generic insert, update, and remove methods in AuthzManagerExternalState
SERVER-10159 Don't rewrite document if all mods are no-ops.
SERVER-1105 Use ResourcePattern type when identifying the resource component of required privileges.

This patch has two principal components.  First, it changes the interface to Privilege and
AuthorizationSession to use ResourcePattern in place of std::string for identifying resources.
Second, it examines all call sites of the authorization session interface in commands and
other code to ensure that the correct resource requirements are conveyed to the authorization_session.
SERVER-9515 Mostly autogenerated files for parsing privileges from BSON
SERVER-10532 replace WriteItem with BatchedCommandRequest, conform to new response spec
SERVER-1105 Fix logical error in authorization_session_test.cpp.
SERVER-9515 Fix lint error
Introduce NamespaceString::validCollectionName that actually takes a collection name
SERVER-9518 Change getAllDatabaseNames from using GlobalWrite to using GlobalRead