added flattening routine
wrote method to enumerate flattened lists
replace ast traversals with new Flatten routine so it handles arbirarily nested lists of nodes
append semicolons when unparsing lists of nodes which are children of templates
move Define to ctree.cpp.nodes.CppDefine
test CppDefine with Ast nodes, not strings
Adding some more OCL Macros + coverage
ArrayDef node
Merge pull request #10 from leonardt/ocl-macros

Adding some more OCL Macros + coverage
Adding body _field to ArrayDef
Merge branch 'master' of github.com:ucb-sejits/ctree

Conflicts:
	ctree/util.py
Merge pull request #11 from leonardt/ArrayDef

Array def
Merge branch 'master' of github.com:ucb-sejits/ctree

Conflicts:
	ctree/c/codegen.py
Merge pull request #12 from mbdriscoll/master

Support arbitrarily-nested lists of nodes in child fields of AST nodes