Move text.py exceptions to a Unicode base.  Deprecate % usage in favor of .format()