Finish this intepreter for the time being.

I'm going to branch into another file for the next step, which is
compiling to byte code and defining a byte code interpreter.
Compiler targetting 'byte code'

Adapted from chapter7.ss, instead of a program being thunks
manipulating registers and a stack, a program is a list of opcodes
(and their operands) manipulating registers and a stack.