Use six and feature detection in string conversion (#4740)
Use six and feature detection in string conversion (#4740)

* Use six and feature detection in string conversion

Leverage [__six.ensure_text()__](https://github.com/benjaminp/six/blob/master/six.py#L890) to deliver Unicode text in both Python 2 and Python 3.

Follow Python porting best practice [use feature detection instead of version detection](https://docs.python.org/3/howto/pyporting.html#use-feature-detection-instead-of-version-detection) in ___unicode_to_native()__.

* Revert the use of six.ensure_text()

Thanks for catching that!  I jumped the gun.  It is I who have brought shame...

alexgorban/models,cshallue/models,tombstone/models,derekjchow/models,cshallue/models,cshallue/models,tombstone/models,derekjchow/models,tombstone/models,alexgorban/models,alexgorban/models,alexgorban/models,derekjchow/models,cshallue/models,tombstone/models,derekjchow/models,cshallue/models,derekjchow/models,alexgorban/models,tombstone/models,tombstone/models