Fixed all the Python3.3 compatibility issues by adding six as a dependency and re-writing various bits