Make sure we actually unmount .iso at exit

If we're exiting due to an exception or something (e.g.
KeyboardInterrupt) we still need to unmount the iso. Use the 'atexit'
module to make sure this happens as expected.

...we can't do it in the 'finally:' block, sadly - if you try it there
the umount fails because yum/rpm stuff still has some .rpm file open.
fix missing local variables in media.py

There was a reference to 'log' but we weren't importing logging, and we
were referring to 'e' in an exception block that didn't have 'as e:'.
Improve check for .iso on removable media

The given arg for --iso might be a relative path, or a bind-mount, or
some other craziness. Check what actual device it's on and see if that
device is removable.