Return unicode in OAuth1Session methods and fix comparisons unicode literals

In `oauth1_session._populate_attributes` unicode literals are being used to check for existence of dictionary keys, but values returned by `parse_qsl` are byte strings, so the comparison fails.

Also for convenience, values returned to user should be unicode strings in the Python 3 world, so `_fetch.token` now returns decoded unicode string keys and values.