The -x suffix was intended to be a transient thing

It should have been removed before committing.
Add support to the interpreter for builtin functions

Previously the interpreter only supported builtin special forms.  So
some primitive functions were defined as special forms, and reified
under when-interpreting.  In order to remove when-interpreting, add
support for genuine builtin functions.
Introduce compiled-runtime-main to avoid a when-interpreting

Which allows when-interpreting to go away.
Only use when-compiling where absolutely necessary

It's fine if the interpreter sees code (i.e. inside a lambda) which
never actually gets executed by the interpreter.  The only things that
need hiding from the interpreter are definitions of functions
that are interpreter built-ins.
Kill when-compiling, and don't expand the program twice

Rather than using the when-compiling hack, and expanding the program
twice, we can mark some source files as not to be fed to the interpreter
(they still get expanded, but the forms resulting from expansion are only
added to the program to be compiled).  These source files are marked
with a 'no-interp!' prefix.  It's not pretty, but it's less ugly than
when-compiling, and avoiding repeated expansion yields a nice performance
boost.
Make the -T option invoke 'perf stat', not 'time'

perf stat output is far more useful.