Fix concatentation error on no args to `./mach rustc`

Since default argument to params is None, concatenating it with a
list will raise an error.  This behaviour prevents `./mach rustc`
to be called when system-rust is defined in .servobuild.

Currently it will only work when followed by an argument, i.e.
`./mach rustc -arg`.

Testing this patch: `./mach rustc` should not raise an error.
Update WPTupdate readme for new directory structure
Updates `./mach update-cargo` for new path changes

Also fixed a bug if run with no arguments.
Use mach to build openssl on android instead of glut makefile.

The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.
auto merge of #4286 : andreastt/servo/ato/concat_error_on_system_rust, r=metajack

Since default argument to params is None, concatenating it with a
list will raise an error.  This behaviour prevents `./mach rustc`
to be called when system-rust is defined in .servobuild.

Currently it will only work when followed by an argument, i.e.
`./mach rustc -arg`.

Testing this patch: `./mach rustc` should not raise an error.
auto merge of #4287 : Manishearth/servo/wpt-readme-fix, r=jdm
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.
auto merge of #4288 : mttr/servo/mach_update_cargo_fix, r=jdm

Also fixed a bug if run with no arguments.
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.
auto merge of #4292 : glennw/servo/android-ssl, r=mbrubeck

The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.
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