Cherry-pick fixes from python-libusb1 upstream

9f9f01cfc6f96ad1f852657a22d13172dc69c074
5ffe63d8349b370a6941833b75ef0afe715c4045
Fix typos
Update changelog
Improve argument handling in build_pkg.py script
Don't broadcast get_stack_id response, keep track of the callers
Update libusb-1.0.dll for Windows to version 1.0.14

Adds support for 2nd gen Renesas USB 3.0 controllers.
Update readme
linux: Lock the PID file to prohibit starting multiple instances

Also improve Debian related scripts.
Fix typo
Add first basic C implementation for protocol 2.0

Works on Linux only at the moment.
network: Enable socket address reuse
Shutdown socket before closing it
Add log categories
Shutdown the unused socket ends in the WinAPI pipe implementation
Move network client handling into its own source file
Fix bit order in packet header
Shorten long log lines
Improve logging
Improve packet routing and transfer handling

Use suquence number to detect callbacks and use UID to detect
broadcasts.

Add a per-Brick write queue to handle packets when all write
transfers are busy.

Cancel pending transfers in transfer_destroy.
Add more details to log messages