(bug 47610) Use $wgWBXXXSettings instead of $wgWBSettings

This change allows for using $wgWBClientSettings resp
$wgWBRepoSettings for all settings, while staying compatible with
sites using $wgWBSettings for everything.

Special care has been taken to make sure default values never
override explicit configuration, and repo/client settings override
"generic" settings.

In contrast to the solution implemented by I14422cd85, this does not
have the problem with breaking B/C where a values is *added* to
a setting that is an array. Doing something like
$wgWBClientSettings['foo']['x'] will still add 'x' to the 'foo'
setting, not replace the 'foo' setting to an array containing just the
'x' field, as was the case with the previous approach.

CAVEAT: lib/config/WikibaseLib.experimental.php uses the deprecated
$wgWBSettings to inject defaults. We'll want a nicer solution for
that. It doesn't do any real harm, though.

Change-Id: I54b1d9b47d60cbaa7429a750b9d38e2b9bd9dc59
Merge "(bug 47610) Use $wgWBXXXSettings instead of $wgWBSettings"