The Official Python 3 Port (TM)

To be merged when I do further porting or my host machines
decide to be smart. Whichever comes first.
Python 2 <-> 3 glue code
Merge branch 'python3'

Adds python 3 support and necessary glue code to run on either 2.7
(maybe 2.6 or even earlier) or 3