This patch is a redo of the EFI refactoring, with a lot of the complexity removes. It basically refactors boot1 to use the same IO code as loader.
This opens the way to a lot of follow-up work, including GELI support for EFI, volume selection in boot1, and other things.