Add support for license prompts
Summary:
Currently, if a transaction requires accepting a license, it just fails.
This implements a basic dialog (which makes it easier to read the
license than displaying it inline) and the necessary backend
functionality.
It was necessary to move the list of packages out of a QObject property
into a new member to allow restarting the transaction outside of the
onFinished slot.
Test Plan:
Downgraded two packages with EULAs and searched for updates.
Hit the install updates button and got two license prompts.
Only after accepting both with the "Yes" button are the updates installed.
Reviewers: lukas, jgrulich, bruns, antlarr
Differential Revision: https://phabricator.kde.org/D23462