Use "six" StringIO and BytesIO

https://pythonhosted.org/six/
Merge pull request #6 from paulfurley/fix-python-3-porting

Use "six" StringIO and BytesIO