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.