Don't depend on ez_setup
adding __future__ stuff, and correcting to make tests pass. passing on python 2.7
add .gitignore
add a compat module to collect the py2/3 differences
the tests don't yet pass on python3, but there are at least no syntax errors
better compat.py
some StringIO and AttributeError fixes
various dict and xrange fixes
compat for next()