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 had to do a double-read over this section, because we have one set of methods to push/pop frames, and then another set of methods on the same interface to push/pop data on the data stack within the current frame. This is another decision I might like to see explained -- is the `VirtualMachine` interface primarily designed to create a facade over all the components of the currently-executing frame?