MX-1214 Merged most BSON changes.

Some that were intimately tied with changes to the update system were left for later.

Merge branch '26/bson' into 26/master
MX-1125 merged new matcher changes

Merge branch '26/matcher' into 26/master
Get authorization_manager.h out of commands.h to improve compile time by moving CmdShutdown to its own file

Conflicts:
	src/mongo/db/commands.h
	src/mongo/db/commands/parameters.cpp
	src/mongo/db/dbcommands.cpp
	src/mongo/db/dbcommands_generic.cpp
	src/mongo/db/repl/master_slave.cpp
	src/mongo/s/commands_admin.cpp
	src/mongo/s/d_split.cpp
SERVER-9740 Make all the CRUD checkAuthFor* methods take in all the information about the operation.

Conflicts:
	src/mongo/db/auth/authorization_session.cpp
	src/mongo/db/instance.cpp
	src/mongo/s/strategy_shard.cpp
SERVER-1891 Add hook for auditing access control checks for commands.

Conflicts:
	src/mongo/SConscript
	src/mongo/db/auth/action_types.txt