Add six for porting efforts.
Initial port for Python 3.

This also works with Python 2.7, 2.6, and 2.5.

All the tests are passing. This probably needs a closer look though,
preferably by another pair of eyes.
Add gitignore
Add some files back to .gitignore
update new code for py3 compatibility, add 3.2/3.3 to travis
Merge branch 'py3'