Remove not-yet-implemented members from IDL and Rust code.

These stub implementations bring no value, and significantly increased
maintenance costs.

This commit also synchronizes the IDL with the HTML specification and
makes the URLs consistent.
Fix regression that no update to Page.fragment_node.
Make UIEvent.view be in a Cell.
Make Document.implementation be in a Cell.
Remove the implementation OptionalSettable for Option<JS<T>> to remove needless '&mut self'.
Remove needless lifetime parameter from LayoutNodeHelpers.
Restore HTMLSelectElement.add to avoid neutering test_union.html.
auto merge of #2543 : Ms2ger/servo/nyi, r=jdm

These stub implementations bring no value, and significantly increased
maintenance costs.

This commit also synchronizes the IDL with the HTML specification and
makes the URLs consistent.
Remove needless '&mut self' from node.rs.
Remove HTMLMainElement.

https://github.com/mozilla/servo/issues/2541
auto merge of #2544 : saneyuki/servo/rm_main, r=jdm

Fix #2541
auto merge of #2535 : saneyuki/servo/mut, r=jdm

Related #2514
don't change readystate if it's already been changed
Remove not-yet-implemented APIs, and update MouseEvent to specification.
Remove low-level pointer stitching methods from Node.

There is no good reason for the additional abstraction here.

This commit also adds assertions that were suggested in XXX comments.
Enable some more dictionary codegen tests.
Support enumerations in dictionaries.
Add a static from_rooted method to JS<T> #2309
auto merge of #2548 : ebalint/servo/master, r=Ms2ger
auto merge of #2527 : Manishearth/servo/xhr-wpt-ready-state, r=Ms2ger

For the wpt test [open-open-send.htm](https://github.com/w3c/web-platform-tests/blob/master/XMLHttpRequest/open-open-send.htm)


Blocks #2525