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.
Can we not have the `.unwrap` here? Something like

```rust
match Url::parse_str(raw) {
    Ok(u) => println!("Parsed `{}`", u),
    Err(e) => println!("Couldn't parse `{}`: {}, u, e),
}
```

(assuming that the error implements `Show`.)