PackageKitBackend: Rework fetching dependencies, fix missing link button
Due to the reliance of a one-time job's signal delivery, the Dependencies button went missing after the second time resource's page is opened. This patch refactor the whole task into:
- a job class which collects a list of resources from PackageKit transaction;
- a job runner class which launches the job on demand, keeps the result, and takes care not to launch two jobs simultaneously.
- a data class (QGadget) to replace JSON object approach.
The runner is lazy, and also supports changing package ID (in case it changes after install/remove operation).
As a drive-by change, refactor list view delegate to wrap the whole summary text, because there is absolutely no reason for eliding.
Edited by ivan tkachenko