Update 41: Yet more tidying up.

Hopefully a final tinkering of comments and formatting for the
parser/semantic analysis code.

gpparser.y
- Added %destructor calls to the appropriate freeing functions for
  each of the symbol types.
- Added AST constructors to each of my error-catching productions
  as Bison was producing a lot of warning about unset variables.

pretty.c/pretty.h
- Reverted back to using a global variable for next_node_id instead
  of passing it as an argument to the pretty printing functions.
  It's easier that way.i