9988 Make loader.efi dual boot, step 1

Review Request #1287 - Created Nov. 18, 2018 and submitted

Toomas Soome

Minor refactoring of currdev assignment. Remove redunant device device type.

Start to simplify the searching of block devices. Move the loops into
efipart.c. Add back pointers for the devsw in pdinfo_t and introduce a
pd_parent so we can represent partitions more easily. This is simply a
refactor, no new functionality.

Add a quick sanity chceck to the zfs and disk partition code. We
require loader.conf to exist on the partition we're considering. If
the currdev from the image descriptor isn't sane, and it has a disk
parent (and is therefore a slice), try all the sibling slices to see
if one of them is same. Add some comments to flesh out what we're
doing and call out some missing pieces of the puzzle.

Sponsored by: Netflix

John Levon
C Fraire
Toomas Soome
John Levon
Toomas Soome
Review request changed

Status: Closed (submitted)