GdbMiParser2.parseLine throws exception when given empty line. Checks for empty line before substring(0, 1)
Stop messages that are not valid gdb-mi2 control messages from being interpreted as such.

** This is a hack **. for some unknown reason, GDB is outputting lines which are clearly stdout from the debugged program, but are not @ prefixed. This means that lines that happen to start with mi2 control characters are being passed into mi2 parsing functions that themselves do very little validation before `substring`ing everywhere.
Merge pull request #653 from twoolie/mi-parser2

Fixes #639: Debugger Failure when encountering "=" prefixed output