Beginning of new (C++) frontend: AST and parser.

- Removed old frontend; defined AST and began work on recursive-descent
  parser.
- Factored out lexer/parser from backend and frontend.
Beginnings of Docker build-image for reproducible/hermetic build.

Still needs some work to (i) make static builds work, producing truly
portable binaries, and (ii) pin down exact versions of packages so the
image itself is reproducible -- perhaps Nix is better for this?