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.
Add extra logging for SDK discovery.

Often when SDK discovery fails, there is absolutely no indication of why (from a user perspective). This commit adds informative logging to the Event Log, explaining to the user why the go SDK they are trying to load will not work.