grub: Replace list_kernels with iter_kernels

For consistency, always return an iterator rather than a list. Rename the
function to make this clear.
grub: Factor common code from Grub and Grub2 iter_kernels()
redhat: Store key in Hypervisor object

The key is used in multiple places, so may as well be kept in the object.

This change also changes the name of citrix/HVCitrix, and adds in the
accidentally missed HVCitrixPV.
redhat: Create drivers dict for simpler iteration over drivers
redhat: Store supported drivers for later use
grub: Store bootloader name with bootloader
grub: Store device name with bootloader
test: Remove obsolete stub-image
test_helper: Templates are relative to env.topdir
test: Add kickstart build option
test: Add ks builds for fedora-19-x86_64-efi and rhel-6.0-x86_64-efi
test: NFC images.py all strings unicode
test: Use regexp comparison for grub kernels

Rescue kernels have randomly generated names
test: Improve error reporting of cmpXMLNoOrdering
test: NFC redhat_converter_test unicode strings everywhere
test: redhat_converter_test consistent test naming
test: Add Fedora 19 EFI test
converter: Fix error displaying replacement bootloader
grub: Fix matched device of Grub2EFI
grub: Match Grub2 EFI kernels