URL encode/decode

Percent-encode and decode URLs both ways.

“Component” uses encodeURIComponent (also encodes =, &, ?); “full URL” uses encodeURI (keeps URL structure characters).