a block_device is a block device such as a disk or a partition that has been
seen since the last boot. when a driver detects a device, it should check if
a block_device with that id has already been created, and if so, reuse it.

eventually, i would like to implement kernel-space exceptions and
use those instead of having functions return bd_result or fs_result,
since it's a bit unwieldy to propogate those results as is.
