Enable 32bit builds.

You specify a 32bit build by setting --target on configure.
Merge pull request #2274 from metajack/build-32bit

Enable 32bit builds.
Implement DedicatedWorkerGlobalScope.navigator.
Merge pull request #3089 from Ms2ger/worker-navigator

Implement DedicatedWorkerGlobalScope.navigator; r=abinader
Implement WorkerGlobalScope.location.
Merge pull request #3093 from Ms2ger/worker-location

Implement WorkerGlobalScope.location; r=Manishearth
Implement window.atob/btoa
Implement HTMLAnchorElement.text
Implement HTMLScriptElement.text
Download Rust snapshots in make rather than configure.

When parallel make (`-j`) is used, this enables building non-Rust dependencies
while the Rust compiler is being downloaded.

On my laptop, from an empty build directory,
`~/projects/servo/configure --disable-optimize && make -j6`
goes from ~7 minutes to ~6 minutes.
The difference matches the download time.
Merge pull request #3096 from SimonSapin/make-snapshot

Download Rust snapshots in make rather than configure. r=@Manishearth
Update to latest rust-layers

We now need to pass through the content age of the LayerBuffer when
creating it.
Mark all layers as having changed content during pinch zoom

This ensures that layers know that they need to re-issue buffer
requests immediately instead of waiting until another content change
happens.

Fixes #2988.
Use Result/Err(()) instead of Option/None to indicate a CSS parse error.
Use Result/Err(()) in Selector parsing.

… get rid of some custom `enum` types for parsing return values.
`Option<Option<T>>` was ridiculous, but `Result<Option<T>, ()>`
make perfect sense.

Also, we can now take advantage of the `try!()` macro.
Fix parsing of `text-decoration: none`

It would previously accept and ignore garbage in the declaration value
after the `none` keyword.
Rename MatchedProperty to DeclarationBlock
Have quicksort take a compare function rather than requires Ord and Eq.
Cloning `DeclarationBlock` is cheap, the declarations are in an `Arc`.
Remove special treatment of UA stylesheet for parse errors.

CSS parse errors are now off by default anyway.