Load interwiki configs via cirrus config dump api

Authored by dcausse on Jul 28 2017, 8:11 AM.


Load interwiki configs via cirrus config dump api

Switch to the ConfigDumpApi to fetch interwiki configs. The code is
stuffed into the interwiki resolved and uses a MultiClient to run
multiple requests at once.

The response is cached on the local cluster cache for 600 secs.
Drawback is that InterwikiSearcher will effectively have to build the
query on every config rather than trying to pack similar configs
together, advantage is that we should the exact same query that the
target wiki is configured for. Previoulsy we had to be careful about
config changes that may affect crossproject searches, now it should
be more straightforward, unless perhaps when a new config var is added
and we have version mismatch between the target wiki and the caller.

The new code is guarded with a config var
($wgCirrusSearchFetchConfigFromApi) and is disabled by default.

Bug: T156497
Change-Id: I98dffa3dfb25007af16db751f3e556187e60ccc9