support initrd updates in /etc/fedup/update.img.d

There are certain bugs that require fixes in upgrade.img. Unfortunately,
upgrade.img gets burned onto DVDs and things like that, so we can't
exactly just push out an update and call it done.

This adds support for updates to upgrade.img. You put the image into
/etc/fedup/update.img.d and it will get concatenated onto the initramfs,
thus overwriting (some of) the original contents.

The images should should be built the same way as the normal initramfs
image - i.e. using 'cpio -c' - and either uncompressed or compressed with
'xz --check=crc32'.

(gzip might work but there have been problems in the past with
concatenated xz and gzip images - uncompressed is probably safest.)
upgrade-prep.sh: unmount any mount with .unmount-please

I mean, it's being so polite and all..

..Also, this is a file that fedup-dracut will create for bind-mounts
that should be unmounted before starting the upgrade, since there can be
more than one now (e.g. plymouth module dir).
Make upgrade-prep.service output go to console

This should help clear up confusion about whether or not the upgrade has
(attempted to) start or not..
fedup.sysprep: make /lib/modules/$(uname -r) before reboot

I REMEMBERED WHAT KERNELVER WAS FOR!! :D (see commit a2befeaa)

Creating this directory before rebooting will mean that we don't have to
play silly games trying to remount / read-write and junk to create it
during initramfs. Sometimes that causes weird problems, so it's better
to avoid it if possible.
fedup.download: simplify urlgrabber error handling

It turns out urlgrabber does keep track of the mirror errors for us, so
we can use that instead of keeping track ourselves.
WHAT THE SHITTING FUCK, URLGRABBER ヽ(`Д´)ﾉ  (╯°□°）╯︵┻━┻

urlgrabber does some amazingly fucked-up stuff with exception handling!
When there's an IOError while writing to disk, F17 urlgrabber raises..
KeyboardError.

Yep.

This means there's no way to tell if we're out of disk space or the
user hit Ctrl-C, which explains why it exits silently if you run out of
disk space. (See https://bugzilla.redhat.com/show_bug.cgi?id=896144)

So. If we're using F17 urlgrabber and we get a KeyboardError while doing
something in urlgrabber, we add an extra little message about what
*might* have happened, so the user has some clue what's up.

Luckily the behavior has changed to something more reasonable in F18, so
we only have to do this in F17. Unfortunately, the version number hasn't
changed since F12, so there's no good way to tell what version of
urlgrabber we're dealing with. Awesome.