Switch from timeout(9) to callout(9).  In addition, do not teardown the
IRQ handler while resetting the controller and add some missing teardown
actions in detach.

Reviewed by:	delphij