Extend hotplugtest example
Enable debug on listdevs example
More debugging in hotplug events

hotplug log
poll

Pipe buffer

pipe implementation

Correctly implemented message passing

Fixed windows_poll functions, now it works

poll
windows_usb

windows_usb

hotplug
make tests aware of HAVE_CONFIG_H
Prefer use dot+name when setting function pointers in structures
Adding emacs editing mode flags
Don't unreference usbi_default_context until it's about to be freed

If the user is running with the default context, then it seems to me that it's
expected that libusb can be debugged/traced up to the point were libusb_exit
has completed, which isn't possible unless usbi_default_context isn't set to
NULL until the call to free(ctx) is about to be called
Don't cast to void pointer in safe_free
Introducing get_hotplug_device_node

This newly introduced method provides with a proper method for creating only
the necessary libusb structures related to the recently connected/disconnected
device, so there's no need to renemurate all the buses.
Use dbcc_name field from dev_bdi instead of the hole structure in get_hotplug_device_node method
Clean hotplug implementation

* Introducing get_ancestor_session_path which let the consumer get the path
  string to one of it's ancestor devices.
* Implemented parent device filling automatically up to hcd level. In the case
  of hcd levels we resolve the vid and pid from the pci board and put those to
  the hub.
* Correct implementation of hotplug_poll, this method is used for initial
  polling, or every time get_device_list gets called, and refreshes the buses
  if there are any new devices. The way it works now is way simpler than before
  it firsts looks for all usb hubs, which get filled with they're parents hcd
  devices, then it looks for all usb devices which will fill up the tree up to
  the first known parent device, which turns out it's either a hub or a
  composite device.
* Dropping previous code for hotplug polling.