v0.5.0 prep - READY FOR MERGE

Updates and fixes necessary for an official release.

A previous PR (one of mine) broke testing in Python 2.6 and the Readme needed a refresh. This also officially drops Python 3.1 support.

### Other new things
* `setup.py test` is available (and used by TravisCI)
* `setup.py` uses `2to3` conversion during the build process for Python 3
* test coverage at 100% (for all tested versions of Python)
* `mock` is used in tests
* minor fixes and improvements