Explicitly decode to UTF-8

Python 3 defaults to UTF-8 decoding, but Python 2 does not.  Also,
str.decode() on Python 2.6 doesn't accept keyword arguments.