py3: add docx.compat module

* StringIO aliased to BytesIO
* remove ascii check in setup.py
* add Pillow dependency to tox.ini
py3: add docx.opc.compat module

* extract is_string()
py3: extract cls_method_fn()
py3: add docx.compat.is_string()
oxml: add XmlString for xml __eq__ override

lxml on Python 3 is not so predictable as to how it orders namespace
declarations when serializing XML output. Because the unit tests
generally rely on a string compare to confirm to XML elements are
equal, this override on the OxmlBaseElement.xml.__eq__() is required to
avoid false positives when namespace and/or attribute order differs but
their contents do not.
py3: last few tweaks to get clean tox run

* Python 3 doesn't like the relative import of helpers
* neglected to open test stream in binary mode