Start unwinding the driver state during detach.

* Add sc->sc_detaching, which marks that the driver is actually
  going away.  This allows the various bits to abort doing things.

* Wake up anything that's waiting.

* Don't free the taskqueue inside the driver lock, that upsets things.

This has definite bugs - things still panic in various callout
related things.  I need to do some further digging.
Cancel transfers early on in detach.

This fixes another panic!