Make sure RefCell borrows are temporary.

This fixes two `RefCell<T> is already borrowed` failures when reloading an
existing pipeline, both caused by functions trying to modify `Pipeline::url`
or `ScriptTask::url` while a reference to a previous borrow is still in scope.
Implement ParentNode.children for Document and Element

Also implement it for DocumentFragment
auto merge of #2192 : evilpie/servo/children, r=Ms2ger

Fixes #2186
Remove unused invalidate_rect code
Implement Element.localName.(fixes #2188)
auto merge of #2209 : lpy/servo/issue2188, r=Ms2ger

see #2188
Update expectations.
auto merge of #2211 : Ms2ger/servo/update-expectation, r=Ms2ger
auto merge of #2208 : mbrubeck/servo/dead-invalidate-rect, r=metajack

This is dead code; should we remove it, or are there plans to use it sometime soon?

r? @pcwalton
auto merge of #2203 : mbrubeck/servo/back-crash, r=jdm

This fixes two `RefCell<T> is already borrowed` failures when reloading an
existing pipeline, both caused by functions trying to modify `Pipeline::url`
or `ScriptTask::url` while a reference to a previous borrow is still in scope.

Note: After applying this patch, there are some painting issues after navigating back.
Make the I Tried star appear when a top-level page load fails for network-related reasons.

Under the hood, this requires treating the I Tried pipeline as a new load instead of a replacement, since the failure-handling code interacts poorly with the rest of the replacement code when we get a series of staggered failures over time from the various pipeline components.
auto merge of #2200 : jdm/servo/loadfail, r=mbrubeck

...k-related reasons.

Under the hood, this requires treating the I Tried pipeline as a new load instead of a replacement, since the failure-handling code interacts poorly with the rest of the replacement code when we get a series of staggered failures over time from the various pipeline components.
Add NodeHelpers::get_bounding_content_box().
Add NodeHelpers::get_content_boxes().
Add Page::hit_test().
Add Page::get_nodes_under_mouse().
auto merge of #2210 : saneyuki/servo/query, r=jdm

- see #356
- To decrease the conversion code, `JS<Node>` -> `Node`, I added API methods to `NodeHelpers`.
- I added APIs to `Page` not `Document` because I had thought that their APIs returns the hitted nodes address in the "page".
Ensure Node.Normalize() acts on all descendants by recursively calling it on all non-text child nodes.
auto merge of #2221 : hazz/servo/normalize, r=jdm

Fixes #2170 by recursively calling `normalize()` on all children that aren't text nodes.
Set default scale based on dpi