More flexible command line arguments

Instead of using a long argument to enable debugging for every phase, use a common `--debug|-d` option to enable debugging for specific phases. Add a `--phase|-p` option to enable execution up to a specific phase, too, so that I can turn off the parser during lexer testing, for example. Write a quick symbol table dumper while I'm at it.