gdb_if: Fix USB flow control.

The introduction of the double buffering broke USB flow control, causing
loss of data when a new packet arrived with the previous still present in
the double buffer.

With this patch the endpoint is kept in NAK until the double buffer is empty.
Merge pull request #16 from zyp/master

Fix for broken USB flow control.
Clone stlink as swlink for STM8S Discovery
usbdfu: On the STM8S Discovery, force to bootloader mode with CN7 Pin2/3 shorted
STM8 Discovery(SWLINK): Add swlink variant for STM8S Discovery board
swlink: Makefile.inc: Fix wrong define
swlink: Force Bootloader now by a short CN7 Pin3/4
traceswo: Make the input channel and trig configurable (Only IC1 and IC2 can work)
swlink: Add traceswo
usbdfu: Do not implicit use BLACKMAGIC if BOARD define is missing
f4 variants: Disable traceswo as long as the endpoint allocation problem is not solved
usbdfu: Rearrange code to have common things together
SWLINK: The Led is on a fixed pin. Writing to an undefined pin may cause havok.
swlink: disable traceswo for now
gdb.py: handle empty blocks for commit() to avoid division by zero
hexprog.py: Don't print empty lines when listing the flash block sizes
swlink/stlink: document connector layout
Provide a traceswo variant for serial protocol.
Use traceswo serial protocol for stlink
Merge branch 'master' of https://github.com/UweBonnes/blackmagic

Conflicts:
	src/platforms/stm32/gdb_if.c