Turn percent decoding into a byte-only affair. Same for parsing urlencoded. Also add hooks.

https://www.w3.org/Bugs/Public/show_bug.cgi?id=23958
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23969