Write a compressed icon archive for space reasons
Wait for the tasks to finish with a mainloop
Support the 'X-Kudo-QT5' kudo also
Split out the rpm-specific parts as a seporate file

This will allow us to add other package formats later.
Support the X-Kudo-Popular metadata attribute
Don't hardcode the location of the extra distro overrides
Use O_CLOEXEC when using g_spawn_sync() in a thread

If not available, bump down to one thread by default.
trivial: Only print progress after the applications have been processed
Remove the temp directory if the extract process failed
Do not crash if applications do <screenshot></screenshot> in the AppData file
Write logs to the configured logdir
Only show the basename in the logs

Different runs are pointing at different trees now.
Use the screenshot cache when generating font previews

This isn't so much for speed, but because the MD5's of the generated previews
are different on each run.
Also load icons installed not in the system root
Add --cache-dir so we can specify a cache path not in the CWD

Also, save icons in the temp directory and screenshots in the output dir.
Load the installed system-wide plugins if not run in ./src
Do not include debug statements into the official logs
Show the progess text without --verbose
trivial: Don't log download actions as INFO
Use the MD5 of the file data rather than the pixel image data

For JPEG we can parse the exact same file using the same process and thread,
and get slightly different pixel values. This means we upload new screenshots
every run for a few applications, and clutter the logs. Urgh.