Improve comment for gdbmi_result.
Allow unit tests to refer to a file or directory.

Previously, if deriving a unit test off of the Fixture class
in fixture.h unit tests could use the TEST_CASE_METHOD_N macro
which expected a directory name in the second argument.

Now the second argument can be either a file or a directory.

This was useful in the gdbmi unit tests so that the directory
structure containing the unit tests could have more than one
mi file per directory. Previously it was limited to 1 per
directory which made adding new tests slightly awkward.

Previous:
  oob_record/async/exec/async_class (with input.mi in directory)
  oob_record/async/exec/basic (with input.mi in directory)
Now:
  oob_record/async/exec/async_class.mi
  oob_record/async/exec/basic.mi

This will be particularly useful as unit tests are added next
for the gdbmi_result struct in gdbmi. This will require lots
of small unit tests to cover the edge cases and I was not
excited about the idea of spreading those input mi files over
lots of directories.
Add the result/cstring/[key_]value.mi unit tests.
Add the GdbmiPtTest/result/tuple/null.mi unit test.
Reduce the size of the result unit tests.

Wrote a common function for the result unit tests to keep the size of each
test small. This will allow for lots of result unit tests with out writing
lots of source code.
Add the GdbmiPtTest/result/tuple/key_null.mi unit test.
Add the GdbmiPtTest/result/tuple/of_cstring.mi unit test.

This unit test found a bug in the grammar. A tuple or list with a single
result would drop the result and would be an empty tuple or list.
Add the GdbmiPtTest/result/tuple/of_2_cstring.mi unit test.
Add the GdbmiPtTest/result/tuple/of_3_cstring.mi unit test.
Add the GdbmiPtTest/result/cstring/key_value_whitespace.mi unit test.
Add the GdbmiPtTest/result/tuple/of_null_tuple.mi unit test.
Add the GdbmiPtTest/result/list/null.mi unit test.
Add the GdbmiPtTest/result/list/key_null.mi unit test.
Add the GdbmiPtTest/result/list/of_cstring.mi unit test.
Add the GdbmiPtTest/result/list/of_2_cstring.mi unit test.
Add the GdbmiPtTest/result/tuple/of_3_cstring.mi unit test.
Add the GdbmiPtTest/result/list/of_null_tuple.mi unit test.
Update GdbmiPtTest/result/list/of_3_cstring.mi

The second item in the list has the variable field as NULL.
Add the GdbmiPtTest/result/mixed/next.mi unit test.
Add the GdbmiPtTest/result/mixed/recursive.mi unit test.