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.
The motivation behind this design decision is lost on me at this point. Won't function invocations be triggered by reading and executing bytecode? This implies to me that we might have a lookup table of codes -> `Function` objects preloaded somewhere, but I'm not sure if that's a good guess or not.