Update 41: More tidying up and debugging.

The list error recovery described in the last commit does not actually
work. I have abandoned the idea of using Bison's error token within
a GP List as I cannot figure out a way to ensure that the error
will not propagate should a syntax error occur in the last item in
the list.

I have also made some small cosmetic changes, including creating a new
enum type for symbol types. This is consistent with the "typing system"
of the AST structs, and it's cleaner to me than using plain strings.
I had to write an auxiliary function symbolTypeToString in pretty.c in
order to pretty print the new struct Symbols.