streamlined generated ast

The ast-gen program now generates an additional .cpp file per node. This shoud
speed up compilation a fair bit, since the function bodies need not be parsed
everywhere in the source. As noted in issue #15, this should reduce the inter-
dependency of the AST nodes as well.