outtlineOTF.py: decode name table's strings to unicode(encoding='ascii')
outtlineOTF.py: decode name table's strings to unicode(encoding='ascii')

This follows a change in fontTools, whereby the `NameRecord.setName` method
no longer silently coerces bytes to unicode, but keeps the distinction clearer
and accepts one or the other.

See https://github.com/fonttools/fonttools/pull/688

Currently, on Python 2, ufo2ft was passing to fontTools `setName` method
`bytes` strings instead of `unicode` strings. This is because `plistLib`,
which is used by `ufoLib` to parse UFO plist files, returns ascii-encoded
bytes whenever it can, and only returns unicode strings if it can't encode
plist strings to ascii (in a distinctively Python-2-esque fashion).

Confusing text with binary data is not cool, so we now make sure we decode
the name strings using 'ascii' before calling setName.
If they are already unicode, they will be left untouched; if they are not,
then it must be because Python2's plistLib has encoded them to 'ascii',
so we decode them back as such.

(That's some of the things we need to do to maintain a single py23 code-base)

moyogo/ufo2ft,jamesgk/ufo2fdk,googlefonts/ufo2ft,googlei18n/ufo2ft,jamesgk/ufo2ft