Modify to experiment with python3 support.
add trove classifiers and travis support
Test updates to get passes in multiple versions.

* httplib -> http.client when python3
* dictionary comprehension to list comprehension inside dict() for 2.6
StringIO from io in python3
more python 2.6 fixes

@cdent is a bad monkey for using travis has his source of virtualenvs
with different python versions.
do the unicode handling dance to get things working in python 2 and 3

This changes some fundamentals:

* Returned exception text is encoded
* Those exceptions with have no bodies now return an empty list
  rather than a list of containing one empty string. This is okay
  bu pep333 and means we don't have to think about if '' is unicode,
  bytestring, bytes, str, etc. It's just not there at all.
* mock_response in the test joins up the body response and decodes
  it to unicode before it is tested against
Stringify exception args: they might be ExceptionS not strings.
fixed capitalization for consistency
added explanatory comments for Python 3-specific branching
improved efficiency by avoiding redundant operations

of course that variable name is rather ... unimaginative - suggestions
welcome
Merge branch 'python3-a'