Fix OSError on missing /etc/fedup/update.img.d

1) listdir returns generator, so you can't test to see if it's empty
2) os.listdir raises OSError, so catch that
fedup.util: add df() and hrsize()

Add a couple utility functions that we'll want if, say, the disk is
full and we need to tell the user about it.
Better error messages on TransactionError (#896144)

So: if we're actually out of diskspace, the big damn list of RPM
problems is pretty useless. It also makes the original "Transaction
failed" message scroll offscreen, so people miss that key bit of info.

Instead, we can slice-and-dice the list into a short, useful list of
"Need XXgb on device XX" errors - and then put an extra "ERROR" message
at the end for good measure. Hooray!