Refactor AST Walker

Rewritten in the recursion style of the other compilers and renamed
to the TemplateActionCompiler. It now generates a list of actions
rather than calling them directly on a compiler.
Rename start/endTemplate to start/endProgram
Rename to TemplateVisitor
Merge pull request #42 from mmun/template-walker

Refactor AST Walker