Reinstate Python 3.x support.

- Don't use 2to3 -- it isn't needed.
- Uses six instead of ad-hoc compatibility hack.
- Fixes some issues around strictness of integer indexing.
- Update docs about supported versions of Python.
- Rename test.py to test_basic.py, since py.test won't pick it up with the old name (though nosetests did).

@bernie-simon: Care to review?

This also reduces the run time of some of the tests.