Fix most defaultPrevented test failures (#2172)
Use position in FindEnumStringIndex.

This is a shorter and probably slightly more efficient to write the loop.
auto merge of #2175 : Manishearth/servo/domtests-createevent, r=Ms2ger

#2172

All subtests of `dom/events/Event-defaultPrevented.html` pass now.

CustomEvent has yet to be implemented.(#2173)
Rename Event::default_prevented -> Event::canceled to better match spec (#2177)
Propagate the result of wptrunner.run_tests out of run.py.

This ensures that unexpected results cause 'make check-wpt' to fail.
auto merge of #2179 : Manishearth/servo/refactor-canceled, r=Ms2ger



See #2177
Update test expectations for #2172.
Update the expectations for Document-createEvent.html.
auto merge of #2178 : Ms2ger/servo/enum-position, r=jdm

This is a shorter and probably slightly more efficient to write the loop.
auto merge of #2180 : Ms2ger/servo/wpt-result, r=jdm

This ensures that unexpected results cause 'make check-wpt' to fail.
Remove not-yet-implemented methods from CharacterData.

This speeds up a web-platform-tests run by about 45 seconds (of 11-12 minutes)
by avoiding three timeouts.
auto merge of #2181 : Ms2ger/servo/update-expectation, r=jdm
auto merge of #2184 : Ms2ger/servo/remove-nyi-characterdata, r=jdm

This speeds up a web-platform-tests run by about 45 seconds (of 11-12 minutes)
by avoiding three timeouts.
Track MANIFEST.json
auto merge of #2187 : Manishearth/servo/manifest, r=Ms2ger

Since we are keeping the results of previous tests locally (in metadata/), we should probably also track the generated MANIFEST file.
It won't get updated locally when the ini files are updated, which can lead to an outdated manifest.
Implement CharacterData.{deleteData, insertData, replaceData}
set the right flags and attrs for InitEvent
Remove JSPageInfo::js_compartment.

A js::rust::Compartment is little more than a glorified pointer to the
reflector of a window, so there's no good reason to use it. Instead, this
commit passes a JS<Window> directly when it's necessary.

This also means that we now have to use JS_DefineFunctions rather than
Compartment::define_functions; I believe the former is clearer to the reader
than the extra indirection involved in the latter calling through three
reopsitories.

This commit also simplifies ScriptTask::load to reuse the 'cx' local that is
in scope already, rather than refetching it through js_info.
Implement DOMImplementation::createDocument

Spec:
http://dom.spec.whatwg.org/#dom-domimplementation-createdocument

Closes #1509.
Added content tests for DOMImplementation.createDocument