SERVER-10830 use $WIX and $MERGEMODULESBASEPATH for enterprise msi
SERVER-10830 use 'enterprise' for enterprise module directory name
SERVER-11104 make sure orphaned data command uses valid shard key
SERVER-11178: fix validate for new extent semantics
SERVER-10830 Don't break on nonexistant MSI related environment variables
SERVER-11302 Remove deadlock between admin database write lock and _fetchPhaseIsReady in AuthMgr.

This is achieved in two parts.  First, this patch changes the approach to
invalidation of the user info cache in the AuthorizationManager.  Rather than
wait for _fetchPhaseIsReady, this patch invalidates the patch immediately and
bumps a cache generation counter.  Methods that enter the fetch phase in
preparation for updating the cache check that the generation numbers before and
after the fetch phase are equal.  If they are not, the fetched user document is
marked invalid and not inserted into the cache.

Second, the patch eliminates a self deadlock caused by recursive acquisition of
the global write lock when a DBDirectClient is used to update user data via the
AuthzManagerExternalStateMongoD interface.
SERVER-11302 Do not do auth checks when operating on behalf of a DBDirectClient.

When the server delegates work on behalf of a user to DBDirectClient, the server
should already have validated the user's privileges to take whatever logical
action the server is performing.  DBDirectClient itself inherently represents
actions taken by the server, and so it doesn't make sense to do access-control
checks there.

This change eliminates a deadlock risk in access control checks inside
DBDirectClient, and resolves UDR bugs stemming from a DBDirectClient performing
an unexpected access-control check, such as SERVER-11310.