new bytecode semantics for exception handling

This removes the separate exception stack and just uses the normal
stack, which can now hold stack pointers as values. Should make it
possible to compile raise and handle, and easier to implement the
hardware.

bytecodeEval is broken - will fix in next commit
fix bytecodeEvalTheory for changes to bytecode
fix compiler (+ tests + proofs) for changes to bytecode