Add u() function for Unicode strings for Python 2/3 shared source
Convert u".." literals to u("..")
Fix prnt() to force string
Use prnt() for Python 2/3 print compatibility
Use range() not xrange() for Python 3 compatibility
Convert more string literals to use u("..")
Use u() rather than unicode() for Python 3 source compatibility
Use a match limit of 64k rather than sys.maxint.

For Python 3 source compatibility
Add to_long Py2/3k normalization function
More u() instances
Use local imports in docstrings
Don't shadow unichr()
Use Py2/3k u() rather than unicode()
Fix up unicode string literals in doctests
Don't convert dictionary .keys() iteration, nor next()
Use sys.exc_info to retrieve exception info.

This approach works the same in Python 2 and 3.
Remove unnecessary alias
Use Py2/3k utils in metadata code generation tools
Use u() utility in generated metadata
Regenerate metadata using u()