Merge pull request #58 from fleur/master

broke write out into seperate method with more error checking
changing all nodes to keep the raw strings of themselves in the enums in parser and compiler, still need to be changed in template