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 would personally prefer to halt the proliferation of `BytesContainer` and friends. It is indeed slightly more ergonomic, but `BytesContainer` was not intended for this purpose. Could these functions stay as taking `&str`?