Parse pretty-formatted quantity expressions.

Currently pretty-formatted (using 'P' format spec) quantities cannot be
parsed by UnitRegistry. This allows, for example:

  >>> q = ureg['meter ** 0.5 / second ** 2']
  >>> pretty = format(q, 'P~')
  >>> pretty
  '1.0 m⁰.⁵/s²'
  >>> q == ureg[pretty]
  True

Unit tests have been added to test this feature.
Replace newline for PEP-8 compliance.
Preprocess pretty expressions with str.translate()

This cleans-up the pretty-formatted expression parsing in
pint.util.string_preprocessor() to have less code, be easier to read,
and probably be slightly more performant.

One difficulty was that string.maketrans() does not work for unicode
translations. In Python 3, str.maketrans() does not have this problem.
To support Python 2 we bypass string.maketrans() and instead define our
own simple maketrans() function that builds an appropriate translation
table (dict).
Repair Python 3.2 compatibility in pretty parsing

Python 3.2 does not allow unicode string literals. Replace one unicode
literal instance. Python 2.6 and 2.7 compatibility is preserved.