This lets us specify a device for the open(2) to act on, rather than
requiring it to be specified as part of the filename. This will be
used in gzipfs to open the gzipped file from the same device rather than
from currdev.
The alternative is to expose each loader's *_fmtdev() function as a
common symbol that libsa can assume the existence of, then bake the
result into the open() in gzipfs. That works, but it's decidedly
error prone compared to just copying over the file's devdesc and slicing
off a copy of that.