safe with python 3: import StringIO, reduce, isinstance(, basestring)

Changed StringIO to BytesIO for python 3

made safe with python 3: StringIO, reduce, basestring
Added six to requirements.txt
Added python 3.3 testing to .travis.yml