So we have several nasty issues when using ignore-spm-downgrades here.
First of all, calculate_world_updates should get the setting directly from
SystemSettings instead of bugging developer asking for it.
Secondly, calculate_world_updates should return a 4D tuple, also containing
the matches ignored when ignore-spm-downgrades is enabled.
Moreover, Spritz packages.py getPackageItem featured an unused argument,
which has been dropped.
I know this commit is a bitch because we are talking about changing API
and affecting several files at once.
This commit fixes the issues with updates being reported after having
already installed them.
Moreover, to improve the communication to user, a new signal "updating_signal"
is spawned before the repositories sync.
With this commit the work on the client (system) updates daemon is
complete. The *thing* works over dbus, exporting a bunch of methods
and sending signals whenever new updates are downloaded.
For more information look at the file itself, for now.
When the daemon is loaded, it should not take over the pid file.
Also, before trying to update the repositories, it should check
if the same resources are locked by something else.