Internal cache for provider data on initialisation
This is is a simple approach to creating less network traffic
when initialising multiple instances of KNSCore::Engine in
the same application. Very simply, we share XML fetch jobs
when many are created at the same time for the same URL.
The result of this patch in a single fetch per provider url
per application launch, and in connection with D5638 we will
fetch the data from the network only once, until the cache
is invalidated, all in all resulting in much less traffic
and less hammering of the servers.
Differential Revision: https://phabricator.kde.org/D5639