MFC boot1.efi stub loader

r264391 (nwhitehorn):

  Add a simple EFI stub loader. This is a quick and dirty of boot1.chrp
  from the PowerPC port with all the Open Firmware bits removed and
  replaced by their EFI counterparts. On the whole, I think I prefer
  Open Firmware.

  This code is supposed to be an immutable shim that sits on the EFI
  system partition, loads /boot/loader.efi from UFS and tells the real
  loader what disk/partition to look at. It finds the UFS root partition
  by the somewhat braindead approach of picking the first UFS partition
  it can find. Better approaches are called for, but this works for now.
  This shim loader will also be useful for secure boot in the future,
  which will require some rearchitecture.

r264403 (nwhitehorn):

  Fix buildworld. I had some local bits in my build tree that caused
  this to work by accident.

r264404 (nwhitehorn):

  Add my copyright here. Most of this is unmodified from the original
  sparc64 version, but at least some indication of changes that postdate
  the actual invention of EFI is probably a good idea.

r264414 (nwhitehorn):

  Apparently some of the i386 boot blocks are so close to full that
  adding single lines to ufsread.c spills them over. Duplicate a whole
  bunch of code to get file sizes into boot1.efi/boot1.c rather than
  modifying ufsread.c.

r264975 (nwhitehorn):

  Add generation of an EFI filesystem to hold boot1.efi. This is a near-
  exact copy of the code from boot1.chrp again.

  The resulting image is installed to /boot/boot1.efifat. If dd'ed to an
  800K "efi" partition, it should result in a bootable system.

r268975 (sbruno): Remove boot1.efi during clean target.

Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Add UPDATING entry for r271116

Noticed by:	nwhitehorn