MFC r261541, r261543 and r261544:
Import USB RNDIS driver to FreeBSD from OpenBSD.
Useful for so-called USB tethering.
- Imported code from OpenBSD
- Adapted code to FreeBSD
- Removed some unused functions
- Fixed some buffer encoding and decoding issues
- Optimised data transport path a bit, by sending multiple packets at a time
- Increased receive buffer to 16K
MFC r261981:
Add new PCI ID for hardware which needs port routing for USB 3.0.

PR:		usb/186811
MFC r261827:
- Remove not needed definitions from driver.
- Get USB input report length from HID descriptor.
- Use 1 finger TAP for devices which has no integrated button.
- Move data buffer to softc instead of allocating it.
MFC r261872:
Fix minor logical error in the XHCI driver. Set correct SETUP packet
direction value.