usb implementation provided by Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Glued together again by me. With this change, gdbserver actually enters debug and gdbserver
stays open!
As noted, the usb transfer only has a 1 byte length, but it also has a different mode
to enter.
Tidied up and removed more duplicate and hard coded code, tried to add some notes on
where the magic came from.
No idea where the chip ids came from, I can't find them in the datasheets anywhere.
Move towards a standard libstlink, with backends for libusb (stm32l discovery) and scsi
passthrough (stm32vl discovery) and a common front end.
Verified that stm32l branch works much the same, but more to go for stm32vl.