[Uri] Fix the ParserUser feature of UriParseComponents

The current implementation was wrong, did not bother with pct-encoding
(despite being listed in the comments) and did not use the actual set
of characters listed on the spec, instead of using a white-list, it
had its own incorrect black-list.