fix bootable CentOS 7 efi by using grub2-efi
fix bootable CentOS 7 efi by using grub2-efi

First of all the `systemd-udev` package does not exist in the CentOS 7
repository and thus will cause the `dnf` step to always fail.

The `bootctl` / `systemd-boot` feature in CentOS 7 is very broken and
does not work.
To create bootable CentOS 7 EFI images, this commit switches to
`grub2-efi`.

Furthermore it will fail early if unified kernel images were not
explicitly disabled via the commandline switch. They are simply not
supported by grub.

There are some quirks when an EFI image is being built on a non-EFI
system, since grub2 will check for existence of `/sys/firmware/efi` and
only create an efi-compatible boot config if that directory exists.
Otherwise it will generate 16bit `linux16` and `initrd16` boot
entries, which are obviously incorrect. This is subsequently fixed
by patching the generated file.

Also the `grub2-efi` setup requires a more ellaborate nspawn setup,
just like `clr-boot-manager`

systemd/mkosi,systemd/mkosi