The kshim code abused the devclass argument to DRIVER_MODULE in some
odd ways. Instead, refactor the devclass handling to more closely
mirror what new-bus does in the kernel by having a linked list of
devclasses looked up by name and associate devices with a devclass.
Devices are now only associated with a module while probing and
attaching.