Adds explicit --name argument to test-ref

In addition, `./mach test` will now take advantage of this when
inferring test suites from test files.
Implement a basic WebSocket interface.
Fix deprecation in selector matching test

The 'find' function was changed to 'get'. Changed to reflect this
warning given when running the tests.
auto merge of #4096 : servo/servo/websocket, r=Ms2ger

Closes #3813.
Add .cargo/config to .gitignore, move content to ports/android

This allows using .cargo/config at the root of the repository
for local path override, without risk of accidentally committing it.
auto merge of #4097 : orteipid/servo/fix_deprecation, r=SimonSapin

    selector_matching.rs:1263:44: 1263:63 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1263         assert_eq!(1, selector_map.id_hash.find(&atom!("top")).unwrap()[0].declarations.source_order);
                                                                         ^~~~~~~~~~~~~~~~~~~
    selector_matching.rs:1265:47: 1265:79 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1265         assert_eq!(0, selector_map.class_hash.find(&Atom::from_slice("intro")).unwrap()[0].declarations.source_order);
                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    selector_matching.rs:1266:41: 1266:71 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1266         assert!(selector_map.class_hash.find(&Atom::from_slice("foo")).is_none());
                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The 'find' function was changed to 'get'. Updated to remove this warning given when running the tests.
auto merge of #4099 : SimonSapin/servo/cargo-config, r=mbrubeck

This allows using `.cargo/config` at the root of the repository for local path override, without risk of accidentally committing it.

However I don’t have the environment to test the Android build. Would this break it?
fixes #4110, can input text without 'value' attribute present
Fix layout on google search results.
auto merge of #4113 : payload/servo/issue-4110, r=jdm

The attribute `value` and the underlying model `TextInput` are not connected to each other, so I just pulled the value out of `TextInput`.
auto merge of #4114 : glennw/servo/table-layout-fix, r=pcwalton
ports/cef: Use the CEF translator tool to generate the full set of CEF
bindings.

This replaces hand-implemented CEF bindings with proper Rust wrappers
automatically generated from the C++ headers. This means that, whenever
CEF's C++ headers change, we can easily generate both the appropriate C
API and the appropriate Rust API. It eliminates much of the hand-written
unsafe code within the CEF port, because the CEF translator tool now
knows how to generate Rust smart pointer wrappers for each class that
corrently perform reference counting.

Additionally, this commit adds utility macros (located in `macros.rs`)
that make it easier to correctly expose Rust objects as CEF objects.
They handle the marshaling of objects between Rust and CEF properly.
The net result of this is that you can write mostly-natural-looking Rust
in the CEF port and interact with it with a natural-looking C++ API on
the embedding side.

This setup relies on the branch of CEF located here:

    https://github.com/pcwalton/chromium-embedded-framework

To regenerate, follow the instructions in `ports/cef/README.md`. For
convenience, and because I don't anticipate the API to change much, I
have vendored in all of the appropriate interfaces.
Fixes for Linux.
Add back API hashes
Add mostly-correct (albeit leaky) string marshaling
Update to get the reference counting correct
Fixes #3962

Bad HTTP responses now have a 0 status code instead of 200 OK.
auto merge of #4128 : jtuchsen/servo/issue-3962, r=jdm

Bad HTTP responses now have a 0 status code instead of 200 OK.
Make callers of `${Derived}::${base}()` use casts instead.
Remove UIEvent.event().