Add a demo x86 DIAG OS

Reviewed By: dustin

For demonstration purposes this patch adds a "demo DIAG OS" installer
that hardware vendors can study to understand how to write a DIAG OS
installer.

As an implementation detail the original "demo NOS" is now
parameterized to provide both the "demo NOS" and the "demo DIAG OS".
At build time typing "make demo" will compile both the "demo NOS" and
the "demo DIAG OS".

The "demo DIAG OS" demonstrates:

- Installing the diag OS into it's own partition.

- When the machine's partition table is GPT:

  + names the diag GPT partition "ONIE-DEMO-DIAG".

  + set the GPT 'system partition' attribute bit (bit 0).

  + when creating the file system on the diag partition set the file
    system label to "ONIE-DEMO-DIAG", the same string as used for
    the GPT partition label.

- When the machine's partition table is MSDOS (please no one use MSDOS
  partitions):

  + All we can do in this case is use the file system label.  When
    creating the file system on the diag partition set the file system
    label to "ONIE-DEMO-DIAG".

- When installing the diag image, install GRUB into the MBR, just like
  the demo OS does.

- Also install GRUB into the diag partition.  This will allow a NOS to
  "chainload" the diag OS later.

- The grub.cfg for the diag partition contains all menu entries
  the diag OS needs, plus one entry to chainload ONIE.

- The demo DIAG OS grub.cfg also insures that the ONIE entry is the
  default, which it must be.  Out of the factory the machine must boot
  into ONIE installer mode by default.

Testing Done:

Using the x86_64 virtual machine exercised:

Case 1 -- install demo DIAG, followed by demo OS, followed by OS
          uninstall

- installing ONIE

- installing a demo DIAG OS

- installing a demo NOS

- invoking the OS uninstall procedure and verifying the demo NOS was
  removed, while leaving the DIAG OS intact.  The system returns to
  the ONIE installer state.

Case 2 -- install demo OS, followed by OS uninstall

- installing ONIE

- installing a demo NOS

- invoking the OS uninstall procedure and verifying the demo NOS was
  removed.  The system returns to the ONIE installer state.