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 an io_result, since it's a bit unwieldy to propogate those results as is.