Several general parsing improvements (See below)

Removed gdbmi_pdata type which lived in gdbmi_pt.h. This was used
by the bison grammar to hold information about the parsing. I've
replaced this by allowing the bison grammar to directly use the
gdbmi_parser structure. This is more consistent.

I changed the output-list grammar production rule to allow
for zero or more output commands to be found during parse.

I removed the unused member last_error in gdbmi_parser.

I've modified some of the comments in gdbmi_parser.h. This interface
is currently being worked on and I'll generally improve the documentation
and API until I think it's ready to be useful.
Ignore vim swap files.
Add gdbwire_string and associated unit tests.