* semantic.d: Early stage. I have ideas for adding just a bit to the
  names of nodes in the parse tree, so we know exactly how many and
  what kind of children a node has. This will make the grammar only
  slightly larger. Basically, we will have to remove options and make
  them explicit instead.

* app.d: Moved draft for type checking into semantic. Restructured the
  precompilation to allow use of semantic actions, found in semantic.
  Pegged was updated so the full tree is always shown.
Refactoring and early semantic analysis
Fixed merge conflict