usb4bsd - Fix poll/select/kqfilter issues with ums and usb_fifo*() API
* Fix handling of f->flag_isselect. It was being improperly cleared on
event notification. It can only be cleared when the knote is removed.
* Call f->methods->f_start_read() unconditionally in usb_filter_read().
Conditionalizing on f->queue_data will fail with devices (aka ums) which
allocate the buffer independantly of starting the interrupt xfer.
* Call usb_fifo_wakeup() in mbuf re-queue cases to handle races when
the read() code pulls an mbuf off the queue and then puts it back on.
* Fix bugs in UMS - Keep track of whether the interrupt transfer is running
or not and do not re-submit or re-stop the transfer unconditionally.