Add CompilationUnit (skeleton)

There’s no real content yet because the AST can much easier be
implemented bottom-up than top-down; however, we do need the root node
of an AST to be able to denote the signature of the backend conversion
functions (which convert between the different CompilationUnit types and
their subtrees).