Combine two conditionals in ScriptTask::load.

Now that the code lives in the same function, I see no reason for them to
remain separate.
Move the load response into the HTMLInput enum.

It is None iff the parser input is an InputString variant, so it makes more
sense to pass it in the same enum.
Remove the url from the InputUrl variant.

This url is the pre-redirect url, which is not particularly meaningful, and it
is used only in a panic message.
Add unit test to freeze sizes of DOM structs
Restrict size tests to 64 bit
auto merge of #4160 : Manishearth/servo/a-test-size-dom, r=cgaebel
Bound several link properties.

Specifically: href, rel, media, hreflang and type.
auto merge of #4298 : Manishearth/servo/zirak-link-attrs, r=Manishearth

Carried over from #4248

Critic review: https://critic.hoppipolla.co.uk/r/3392
Add a `./mach clean-snapshots` command to remove old Cargo and Rust.

Bootstrapping automatically downloads new Rust and Cargo snapshots
as needed into versioned directories,
but do not remove now-unused versions.
This is the desired behavior for `git bisect` to be usable.

However, this means that old version keep accumulating, taking up disk space.
This adds a mach command to remove snapshots other than the ones
currently being used.
It is never run automatically.

To be safe, the command defaults to only printing what would be removed,
and only removes stuff when run with a `-f` argument.
mach clean-snapshots: better no-op output
auto merge of #4302 : SimonSapin/servo/clean-snapshots, r=Manishearth

Bootstrapping automatically downloads new Rust and Cargo snapshots as needed into versioned directories, but do not remove now-unused versions. This is the desired behavior for `git bisect` to be usable.

However, this means that old version keep accumulating, taking up disk space. This adds a mach command to remove snapshots other than the ones currently being used. It is never run automatically.

To be safe, the command defaults to only printing what would be removed, and only removes stuff when run with a `-f` argument.

r? @mbrubeck
auto merge of #4293 : Ms2ger/servo/script_task, r=Manishearth
Update typeable to pick up a warning fix.
auto merge of #4303 : Ms2ger/servo/docs-warning, r=Manishearth
Don't include the root element when calling Element#getElementsByTagName

Fixes #4249
auto merge of #4304 : ema-fox/servo/bytag, r=Ms2ger

Fixes #4249
Rename base_url to final_url in ScriptTask::load.

This seems like a clearer name, as it's used for more than just as a base url.
Pass a borrowed Url to parse_html.

It does not need to take ownership, and I want to reuse final_url in the
caller.
Reuse the final_url in ScriptTask::load.

In both the javascript and non-javascript url cases, final_url is set to the
same url as is stored by the Page.
Issue #1820 - Improve the Blob implementation