Update 46: Debugging and graph pretty printer.

graph.c
- Fixed many bugs: the graph library now adds and removes nodes and edges
  correctly without any memory leaks or other issues.
- Wrote functions to pretty print a graph.

seman.c
- Added a check to prevent freeBiEdgeList being called on a NULL pointer.
- Added code to free the auxiliary GSList interface_ids in interface_scan.

ast.c
- Fixed code to handle the empty string in newASTString.