The Python interpreter

The Python interpreter draft.  

Other comments:
- I've checked in tests, although they're not part of the 500 lines / not for inclusion in the book.  (They're not that interesting anyway - just verifying that little snippets of Python do the right thing.)
- It was less work than I thought it would be to adapt this from @nedbat's byterun, so we should make sure he gets appropriate credit.
I would like to see an explanation of how our stacks change in each of these individual situations. If I find a "return value" instruction, is the current frame popped? What about for a generator expression? What about for an raised exception? (In the latter, we could even use a backtrace to emphasize how the call stack structure occasionally bubbles all the way up to the user.)