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.
- CMake build system tweaks.
- Docker build environment for hermetic/reproducible builds:
  work-in-progress.
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?