Handle %-escaped UTF-8 sequences in ed2k:// URIs
Previously, each %-escaped character was decoded and interpreted separately.
This worked as long as only ISO-8859-1 (Latin-1) characters were encoded so.
However, if the encoded characters made up a UTF-8 sequence, decoding would
fail terribly. This is now fixed.
The current implementation decodes all escaped characters in one pass, and only
then it tries to interpret the resulting character array as an UTF-8-encoded
string. If the conversion fails it falls back to ISO-8859-1 (thus still supporting
the old behaviour).