EFI boot loader in efi_boot_linux() now supports booting i386 and x86_64 linux kernels.
Main x86_64 changes are in a) setting up high part of EFI system table and memmap
b) loader signature c) setting up jump vector to hand off to kernel.
The EFI wrapper (efi/wraper.[ch]) takes an ELF shared libary and wraps it into PE32. While that's
fine for EFI32, for EFI64, it needs to support PE32+ format so that a 64bit loadable module or
executable can work under a 64bit capable syslinux.efi. The EFI wrapper is enhanced to support
both EFI32 and EFI64 by writing out PE32 or PE32+ header fields as appropriate for the build
architecture environment.
Remanants of the unused old i386-only files, if any, need to be pruned.