Clear g_receiveBuffers[] in mockIComm_Uninit()

Previously it was possible for a second default empty packet to be
queued up from a preceeding test.  This change makes sure that such
packets get cleared out and therefore not cause a interrupt from
pinkySimRun() due to waiting input data.
Pull writeStringToExclusiveGdbCommChannel() fix

Without this fix WriteStringToGdbConsole() calls didn't work with this
simulator since the string pointers passed into the function were
assumed to point to simulated memory instead of the debugger code
itself.
Implement Platform_DisplayFaultCauseToGdbConsole()

Now dumps text to the local and GDB consoles describing the cause of a
debug exception if not a normal debug event.  This includes hard faults,
undefined instructions, unsupported instructions, etc.