hotplug: Add a hotplug_poll backend function
Apps which were written before hotplug support, may listen for hotplug events
on their own and call libusb_get_device_list on device addition.
In this case libusb_get_device_list will likely return a list without the new
device in there, as the hotplug event thread will still be busy enumerating
the device, which may take a while, or may not even have seen the event yet.
To avoid this add a new hotplug_poll backend function and make
libusb_get_device_list call a this before copying ctx->usb_devs to the user.
In this function the backend should ensure any pending hotplug events are
fully processed before returning.
This patch implements hotplug_poll for linux, it should probably be also
implemented for darwin.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>