* Remove inline `false` fallback in fetch().
load() does this already and can't return other falsey values
like null.
* Remove use of Database::getCacheSetOptions as this data is
generally not mutable.
* Remove foreach-wiki logic from clearInterwikiCache.php.
Usually to make scripts apply cross-wiki they are iterated
externally via something like foreachwiki (as WMF does) and
by using the `--wiki` parameter that core supports. Iterating
in-process is somewhat fragile and depended on various hardcoding
and assumptions, including e.g. BagOStuff::makeKey() and how
ClassicInterwikiLookup calls this.
Also fix clearInterwikiCache.php to actually work on simple wikis.
Previously it did nothing locally as $wgLocalDatabases is empty.
* Remove non-confident code from loadFromArray() for tolerating
absence of iw_url. Move the isset() check to the one place that
needs it, namely the hook handler in load(), and document what it
is for.
* Simplify load() usage by inlining and moving fetchPregenerated()
responsibility there.
* Simplify load() by merging the aborted and non-aborted hook cases,
and document the reasons explicitly.
* Move use of WikiMap::getCurrentWikiId() to the constructor
with TODO for proper injection.
* Rename a bunch of variables and apply more consistent terminology
within interwiki-related source code. In particular, it was
confusing that the variable 'objectCache' in fact did not cache
the objects, which are cached in 'localCache' instead. Use the
common naming found in other MW components instead ("wanCache" and
"instances").
Bug: T315315
Change-Id: If3429b0604974efd4ff5914660979d3e49266848