Treat any unexpected timeouts waiting for async transfers as though there may be a usb halt condition and attempt to clear the halt before cancelling the tranfer.
Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do.
Add API output displaying USB cancellations.