Ask the VMM for the debug level.

Ovmf has a debug port, 0x402, which it sends debug print messages to.
There is also an "error level" mask with bits indicating which messages
should be sent.  Add a mechanism for the VMM to tell Ovmf whether
debugging should be enabled, and what error level to set.  The protocol
is this:

1.  Ovmf performs a 16-bit read from the debug port.  Prior to this
    change the port was write-only.
2.  If the value read from the port is 0x0DEB, debugging should be disabled.
3.  If the value read from the port is 0x1DEB, debugging should be enabled,
    and a 32-bit read should be used to get the error level.  Since 0x402 is
    not 32-bit aligned, the port number is rounded up to 0x404.
4.  Any other value read from the port indicates that the VMM doesn't
    support the protocol, so the old behavior is kept: debugging is enabled
    with the default error level mask.
Add ID information for SATA/AHCI controllers.
Merge in Tycho Nightingale's bhyve changes.