Ast update

Updates the AST per https://gist.github.com/kpdecker/cb3592114071c3f80604

Breaking changes: Many

- AST structure and API completely refactored
- invokePartial now uses a call pattern that is closer to helpers

Related to #889