Added libusb_get_device_string() which works with a closed device

This new API call provides access to device strings,
normally accessed using USB string descriptors,
without opening the device.  The common use case is
to filter on serial number for selecting one of multiple
connected devices.

The commit adds the new API function, documentation, and support
for the following platforms:

* Windows WinUSB
* Linux
* macOS

All platforms support manufacturer, product, and
serial number strings.

The example/listdevs.c now has a "--verbose" command line argument
that prints these strings.

Known issues:

* On one Ubuntu Linux machine, reading the /sys/bus/usb/ files
  to get the strings takes a variable amount of time on one device,
  an xHCI root hub.  While the read can be fast, it can also take
  seconds.  Using "cat" at the command line has the exact same
  behavior.

Closes #1532
References #866
13 files changed