Centralize determination of boot firmware (UEFI vs. BIOS/CSM) into a
function x86_bootmethod() and fix deviations from style(9).
Use the FIFOs in the imx5/imx6 uart hardware instead of interrupting on
each byte sent or received.
Only allow ZFS boot on GPT; the MBR ZFS bootblocks cannot be installed using
gpart bootcode as /boot/zfsboot needs to be split into multiple pieces by
hand and copied to different areas of the partition.
ddb: ANSI-fy function declarations.

MFC after:	5 days