database: Don't treat $defaultSchemas as containing all types/drivers
The Database::factory() method treats $dbType as of one of
predefined "canonicalDBTypes", and defaults to using it as driver.
Which is then used for the name of the Database subclass.
This allows extensions and wiki farms to have custom subclasses
to override certain methods, or even provide new drivers.
The $defaultSchemas array added in
f7174057a4 was given all canonical
keys (with null values) to allow unconditionally access. This
doesn't scale very well and is error-prone. Reduce it to the
override only and fallback make the fallback to null explicitly.
See T102285 for where this would help prevent a PHP Notice.
Change-Id: I3f1e1f59c300d34de30f6480ff4e54f159d51b16