Rework the disk label handling once again. Disk label is read at attach time
because it teaches us the drive geometry, but from then on there is no reason
not to implement disklabel spoof support and a proper DIOCGPDINFO ioctl.
As a result, this makes disklabel -A now work on SMD disks.
The drawback of this, is that, since native labels do not have a pcylinders
value, the code will now always assume pcylinders == ncylinders + acylinders.
(this ought to be the case by default for labels produced by SunOS format(8).)