Add common base class for all job classes
This contains a finished/error interface similar to QNetworkReply, which requires users only to connect to a single signal and do one error check.
Not included yet are:
- SunriseSource (deprecated and scheduled for removal)
- LocationQuery (needs to be split between a job class and a job factory first)
Changes ABI, but is still API-compatible as far as KWeather is concerned.