Pretty happy with it now. Needs copy editing, and probably an
easier introduction to convey the basic idea. Moved from a class
based approach to a procedural approach, and I like that very much.
This code did not work for Python 2.x becaus I was not
importing from future. While I was altering all the files
I updated the header to include license information.