liburl: rename and move from_str to Url::parse_str.

url::from_str => url::Url::parse_str

The FromStr trait still works, but its confusing to have a from_str
free function that retuns a Result, while the regular from_str
returns an Option, hence the rename.

[breaking-change]
liburl: rename and move path_from_str to Path::parse_str.

url::path_from_str => url::Path::parse_str

The FromStr trait still works, but its confusing to have a path_from_str
free function that retuns a Result, while the regular from_str style
functions return an Option, hence the rename to indicate a Result.

[breaking-change]
liburl: remove redundant fields in Url.

url.path - Now a Path instead of a String.

To fix old code:
url.path => url.path.path
url.query => url.path.query
url.fragment => url.path.fragment

Not much point having the Path struct if it's not going to be used.

[breaking-change]
liburl: Simplify encoding/decoding using iterators.
liburl: Remove failure conditions, use Result.

Anything that decodes now returns a Result.

To fix code broken by this, call unwrap on the returned value.

[breaking-change]
liburl: Remove some unnecessary allocations.

Some signatures have changed from String to &str returns.

To fix, call to_string() on the returned value.

[breaking-change]
liburl: A Url's port is now u16.

Also simplified get_query_fragment and minor cosmetic change.

url.port has changed from String to u16.

To fix old code, use from_str::<u16>(old_val) or use Url::parse_str.

[breaking-change]
liburl: cosmetic test changes.
liburl: Generic input for {en,de}code.