klondike - use a link list queue rather than a circular buffer - and add timing stats
api incorrect message name
klondike - correct/reverse min/max stats
Lock mutex before second pthread_cond_wait in usbutils to prevent a race.
Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock.
Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error is explicitly tested for in various drivers.
Implement a generic cgsem_mswait similar to sem_timedwait
Fix util.h exports for cgsem_mswait
Check for correct timeout error in cgsem_mswait
Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals.
Revert "Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals."

This reverts commit 433465bcfcd8d9a2270cb27dd0ea933e9fefa829.

Not ready yet.
Give correct return code in cgsem_mswait
Convert the usb callback function to using cgsem_t timed waits to avoid race conditions with conditionals/mutexes.
Windows uses errno for WSAETIMEDOUT
hexstr is too small in test_work_current
Merge pull request #503 from kanoi/master

Klondike - driver redesign + api message correction
Merge branch 'master' into libusbx