Allocate symboltables for variable lookup lazily

Both in the interpreter and compiler.  This yields a small speedup.
Make interpreter tail recursive

eval-body was not previously tail recursive.  Oops.
Inline eval-body and eval-body-form in interpreter

This simple change makes a significant difference to instruction
count.
Fix 'make stage2-interp-test'
Make interpreter less apply-heavy

The interpreter would do an apply for all builtin operations.  But apply
is a somewhat costly operation, and its use tends to involve generating
garbage.  So avoid using apply for common builtins.