Update to GNU GRUB 2.00 from upstream.

This incorporates the code from upstream grub-2.00.tar.xz, including all the
generated files in the tarball, as with the previous import of 1.97.

Among other things, GRUB 2.00 fixes numerous bugs in 32-bit UEFI boot support.
This upgrade was deferred from previous versions of ChromeOS when GRUB was a
part of the normal boot process, but GRUB is now used exclusively for UEFI boot
support, so this is a low-risk change.

Note that this commit includes only the GRUB 2.00 upstream source, with
none of the ChromeOS changes.  Subsequent commits will forward-port the
ChromeOS changes previously applied to 1.97.  Those changes do not
directly apply to the updated source, and require reworks to apply and
build.

BUG=chromium:265918
TEST=With the complete patch series, built a complete x86-generic image,
     and booted it via UEFI on both 32-bit and 64-bit UEFI platforms.

Change-Id: I9e4265f6a102f9800a77e0f368e266fa8d165c7b
Reviewed-on: https://gerrit.chromium.org/gerrit/63293
Tested-by: Josh Triplett <josh@joshtriplett.org>
Reviewed-by: Liam McLoughlin <lmcloughlin@chromium.org>
Commit-Queue: Josh Triplett <josh@joshtriplett.org>
1762 files changed