usb: Add workaround for libusb bug on Windows >= 8.1
usb: Add workaround for libusb bug on Windows >= 8.1

On Windows 8.1 or later with the current version of libusb the device list
returned by libusb_get_device_list() might contain a device with the same
bus number and device address twice.

One of those devices will be a bogus device that is only partially
initialized and non functional. When we try to create a IIO USB context and
encounter such a device the call to libusb_open() returns an error and
the context creation fails.

The error code returned in this case is LIBUSB_ERROR_NOT_SUPPORTED, which
will never be returned by libusb_open() for normal devices. To mitigate the
issue rather then letting context creation fail skip the bogus device when
encountered and keep looking for the real device.

Signed-off-by: Lars-Peter Clausen <3318dc5ce3e4fb7c28a0b841b6801c884e1d0896@metafoo.de>

analogdevicesinc/libiio,analogdevicesinc/libiio,analogdevicesinc/libiio,analogdevicesinc/libiio