Pretty-print AST file nodes consistently.
Provide ast::Filename::name().
Add dag::Flattener::flatten().

We do this in a couple of places already and will want to do it in more.
Drop unused forward declarations.
Add ast::FileList::{begin,end}().
Add ast/Builtins.h.

This file contains builtin string constants.
Expose arguments to an ast::FileList.
Incorporate declared files into the DAG.
Trivial: fix namespace comment.
Move dag::DAG::ValueMap -> dag::ValueMap.
Add more accessors to ast::Call.
Make SemanticException Printable.
Provide more information about semantic errors.

A SemanticException knows what source location it pertains to and can pretty-print a green carat. Let it do its work.
Handle build actions ("calling" actions).