[backends] zypp: Check free space before executing transaction

This currently over-estimates space requirements:

 - Does not take into account space freed by removal / replacing of
   existing data files (for package upgrades)
 - Does not take into account already-downloaded files for which no
   additional disk space will be used when "downloading"

Also, this assumes the download directory for packages is in the rootfs,
and that all files installed by the package will end up in the rootfs.