Python 3 support

Switched error handling to 'Exception as e' (valid from 2.6) and accounted for changes to urllib2. Additionally, specified test_suite in setup.py to allow 'python setup.py test'.