Python 2 has strange handling of %-encoded bytes. It converts them into latin1, regardless of the encoding used to quote the original URL (http://bugs.python.org/issue8136). This change should only reflect what Python 3 is doing (in full spirit of `compat.py`):

```python
urllib.unquote(unicode(urllib.quote("ä"))).encode("latin1").decode("utf-8")
```
This only works for `unicode` strings in Python 2, but the compatibility to Python 3 should actually ensure that only `unicode` strings are passed to `unquote`.

Without this change, filenames with non-ascii characters resulted in correct output in Python 3 and garbage names in Python 2.