The function 'unescape_named' only begins decoding values if a named
parameter exists that does not contain a digit. However, there are
several entries that include both letters and numbers and if those are
the only ones present, they are never decoded.
For instance, '¼' would not be decoded but '&¼' would
be because `&' matches on `m/&[a-zA-Z]+;/`.
Furthermore, can you make it so that the characters are decoded
regardless of case? `&aMp;` is currently not decoded properly. Not
sure if that goes against some spec somewhere... hopefully you're more
knowledgeable about it than I am.