qemu-xhci device should detect if libusb host supports streams

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1843711
Reported by 'Anisse Astier' on 2019-09-12 :

When using USB passthrough with the qemu-xhci (and nec-usb-xhci), streams
are enabled by default, but if the host xHCI controller doesn't support
them, it will trigger hard-to-debug UAS guest errors.

This should be possible to detect since the kernel returns ENOSYS (errno
38) when xhci host controller does not support streams:
            libusb: error [do_streams_ioctl] streams-ioctl failed error -1
errno 38
            qemu: libusb_alloc_streams: -99 [OTHER]

Maybe libusb should return a dedicated error instead of LIBUSB_ERROR_OTHER
in this case, but qemu does not handle any other error code anyway.

Just trying to enable streams before enabling them in qemu should do it. I
don't know if it should be done in hcd-xhci.c, host-libusb.c or elsewhere,
but this would be detectable at launch instead of a static option
true/false, maybe a ternary with auto would be better.