Use zypp_perform_execution for system upgrades

Simplify backend_upgrade_system_thread by re-using
zypp_perform_execution and adding a new execution type UPGRADE. This
adds transaction features such as download-only mode and simulation
to the upgrade-system command, and enhances error reporting in case
of resolver issues (existing implementation zypp_perform_execution).

[backends] zypp: Use zypp_perform_execution for system upgrades