liburl: minor api changes

See commits for info, a number of these are 'breaking', although liburl is marked experimental so I'm not sure that matters so much.

First two commits will be impacted if #15138 is adopted, but it's a simple rename.
I'm fine with `parse`, and yeah, the name difference is to highlight it's different from current `from_str`. If `from_str` eventually turns to `Result` then this difference is unlikely to need to exist :)