Use downloaded snapshots instead of in-tree rust. Also a working linux travis conf
Remove unused code to support preffed-off and chrome-only APIs.
Remove compiler warnings from generated mako templates.
auto merge of #2657 : Ms2ger/servo/geckoisms, r=jdm
auto merge of #2660 : glennw/servo/mako-warnings, r=jdm
Divide check-ref targets into check-ref-cpu and check-ref-gpu

This allows us to run the CPU and GPU tests individually
Update snapshots to also build/test on OSX
Merge pull request #2671 from larsbergstrom/new_snapshots

Update to use snapshot builds
Request termination for XHR
Merge pull request #2656 from Manishearth/xhr-terminate

Request termination for XHR
Handle JSAPI OOM failures by task failure as soon as possible.

We already ensure to fail the task if GetProtoObject returns null, as we don't
have a useful way to handle OOM, and we don't wish to thread the failure
through to some place where we could handle it in a useful way.

Unfortunately, we cannot ensure through the type system that none of those
functions returns null, so we use assertions to check it dynamically.
Merge pull request #2668 from Ms2ger/CreateInterfaceObjects-failures

Handle JSAPI OOM failures by task failure as soon as possible.
Stop pretending that CreateInterfaceObjects2 can return the interface object.

We do not currently support the case of a non-callback interface that doesn't
have an interface prototype object. (This case is not allowed by the WebIDL
specification; it was added to Gecko to allow feature-detecting the URL
interface. See <https://bugzilla.mozilla.org/show_bug.cgi?id=1026720>.)

It follows that, if we call CreateInterfaceObjects2 at all, we will call it
with a protoClass argument, so there is no reason to use a nullable pointer
type for that argument.

Moreover, if we had actually supported that case, the returned interface
object would have been stored in the interface prototype object cache, to ill
effect.