Merge different AST types and kill 'AST' class.

There is now a single 'Tree' type for parsed, resolved, and typed
ASTs. It is parameterized by the types of labels ('Text', 'Name') and
metadata ('Location', 'Type').