usb transport: add clarifying comment
usb transport: simplify stall API

The method names stallRead() and stallWrite() were terribly
confusing in the circumstances, and they weren't used by any
callers anyway.
cleanup
fix logging
usb transport: consistency in BulkWriterThread API

All the other thread classes rely on setFd, there's no
reason for BulkWriterThread to be an exception. The fd
that was passed in was always the same one.

Removed unused parameters from setData method
usb transport: straighten out locking for BulkWriterThread

BulkWriterThread had a mutex that was being unlocked while it was
already unlocked. Also, the main thread was busy-looping while
waiting for the mutex. Removed the mutex, replaced the synchronization
logic, and commented what's going on.