SERVER-12597 Remove dead authz code

Conflicts:
	src/mongo/db/auth/privilege_parser.cpp
	src/mongo/db/auth/privilege_parser.h
	src/mongo/db/auth/user_set.h
SERVER-12541 Give restore role the ability to query admin.system.version

Conflicts:
	src/mongo/db/auth/role_graph_builtin_roles.cpp
SERVER-12513 At startup, if a 2.4-style index on admin.system.users is detected, remove it

Conflicts:
	src/mongo/db/auth/auth_index_d.cpp
	src/mongo/db/auth/auth_index_d.h
Add missing space to error message

Conflicts:
	src/mongo/db/auth/authz_manager_external_state_local.cpp
Move some code out of auth_helpers.cpp back to the AuthorizationManager

Conflicts:
	src/mongo/client/auth_helpers.cpp
	src/mongo/client/auth_helpers.h
SERVER-12616 Presume that the localhost exception does not apply in mongos when configs unreachable.

If the config servers become unreachable by a mongos server in systems with access control enabled,
that mongos must assume that there are user documents in the config server and so the localhost
exception does not apply. Otherwise, one needs only block access to the config servers to bypass
access controls.  While the mongos won't be able to do metadata operations, it will be able to
read and write arbitrary data, when directed to do so by a client on the localhost interface.
SERVER-12077 Log when auth schema upgrade fails due to out of date server

Conflicts:
	src/mongo/s/commands/auth_schema_upgrade_s.cpp
SERVER-12712 Remove dependency on auth_helpers from C++ client

We were only pulling in auth_helpers for the password digest. Instead
of doing that, move the digest function into the md5 library.

Conflicts:
	src/mongo/db/auth/user_management_commands_parser.cpp
SERVER-12476 Set internalAuth params when changing clusterAuthMode
SERVER-12116 Return better messages to the user when the authz version field is the wrong type
SERVER-12539 Make mongorestore not interfere with ongoing user or role modifications

This is done by making mongorestore insert the users/roles from the dump files into temporary
collections that are later merged into the real admin.system.users and admin.system.roles
collections using a new command: _mergeAuthzCollections.

Conflicts:
	src/mongo/db/auth/user_management_commands_parser.h
	src/mongo/tools/mongorestore_options.cpp
	src/mongo/tools/mongorestore_options.h