SERVER-8527 Do not try to read the non-existent "$external" database during privilege acquisition.

It is the attempt to acquire privileges stored in "$external.system.users" that is causing the
the DatabaseHolder to construct a Database object for the non-existent "$external" database during
normal operation.  This change aleviates that on the acquire privileges code path, without fixing
the more general problem of creating database objects for illegal database names.  That problem
is far stickier, and this limited solution ameliorates the "can't add shards" symptom.