Run the Python 2to3 tool on the source and tests to start updating them to work under Python 3.x

Rewrite a bunch of the reading/writing code in io/datafile to get them to work correctly under Python 3.x
Rewrite the test_io and test_datafile files to account for the string/bytes changes in Python 3.x
This is not a complete port - only io and datafile are currently working in Python 3.x