[BUGFIX] Multiple debugger packets not received properly

When multiple short packages were sent by the debugger in a very short
timeframe, only the first of them was read and subsequent calls to
stream_select() did not return this stream anymore, effectively blocking
the connection.

This is fixed by reading all available data at once and parsing it bit
by bit. If a packet is only partly received, the content is stored and
joined with the next bit. However, if reading the data does not occur
when within the same `readData()` invocation (e.g. because of network
congestion), the data is lost as it is not stored for the next call.