Begin fleshing out the command versus data response path.
Change build directory.
Begin fleshing out the completion path for the command responses.
Hook up the sleep/wakeup command matching.

* Sleep if the command is synchronous
* Command completion now wakes up the sleeping thread
* Migrate ping to a taskqueue so it can sleep
* Echo debugging info if ping succeeds

So, this now works - but there's some lockup somewhere where device
removal hangs things.  I'm not yet sure - I think that it's quite
possible to have a sleeping thing never wake up - or, wake up 2 seconds
after it sleeps but the underlying device has been removed.
I'll have to dig into it some more.