Uses our existing "error string" extension to provide a better
indication of why the launch failed (the client does not make use of the
error yet).
Also, fix the way we obtain the launch error message (make sure we read
the whole message, and skip trailing garbage), and reduce the size of
TestLldbGdbServer by splitting some tests into a separate file.
IIUC, this will overrun the buffer if there are >1000 bytes to read; whereas previously we just wouldn't have read everything.
Should each loop iteration grow the buffer by a certain amount? Otherwise I think we need to remove the loop.