Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented.

When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
Cleanup Node::query_selector.
Cleanup Node::summarize.
Cleanup Node::clone.
Cleanup Node::ChildNodes.
Cleanup Node::Normalize.
Cleanup Node::CloneNode.
Cleanup Node::as_element.
Cleanup Node::is_html_element_in_html_document.
Fixes #4232
Implement selection ranges and deletion of \n for TextInput.
Fix concatentation error on no args to `./mach rustc`

Since default argument to params is None, concatenating it with a
list will raise an error.  This behaviour prevents `./mach rustc`
to be called when system-rust is defined in .servobuild.

Currently it will only work when followed by an argument, i.e.
`./mach rustc -arg`.

Testing this patch: `./mach rustc` should not raise an error.
Implemented Document#inputEncoding

Resolves #4252
Update WPTupdate readme for new directory structure
auto merge of #4194 : cgaebel/servo/incremental-reflow-fix, r=pcwalton

When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
auto merge of #4233 : driftersprt/servo/BUG-4232, r=jdm
auto merge of #4270 : ProgramFOX/servo/issue-4252, r=saneyuki

Resolves #4252
auto merge of #4280 : Ms2ger/servo/cleanup-node, r=jdm
Updates `./mach update-cargo` for new path changes

Also fixed a bug if run with no arguments.
auto merge of #4284 : ema-fox/servo/textinput_selection, r=jdm