Be more explicit in casts of generated bindings
Move ID management on binding to and unbinding from tree into Element.
Cleanup Element::set_attribute.
Pass a non-Option DOMString to after_remove_attr.
Call after_remove_attr before removing the attribute, and rename it before_remove_attr.
Call unregister_named_element rather update_idmap from before_remove_attr.
Only register the new ID from after_set_attr, and remove update_idmap.
auto merge of #1760 : Ms2ger/servo/idmap-improvements, r=jdm
Merge master into this branch
auto merge of #1736 : sankha93/servo/issue1733, r=jdm
Don't crash on bad command-line arguments

As amusing as it is to have servo --help die with SIGILL, it's not the best
user experience :)
Remove remnants of old reftest system

Back in 2012, Brian wrote a reftest system using Firefox via Selenium to
generate comparison images.  This seems like a pretty cool idea, but we
didn't maintain it and important pieces are now missing.

Let's remove it from the working tree to avoid confusion with the current
reftest system, and I'll open a ticket about revisiting this idea.

One pair of old reftest files seems usable as a new reftest and that move is
included in this commit.
auto merge of #1767 : kmcallister/servo/misc, r=metajack
layout: Rewrite the float context.

This rewrites the float context to avoid dynamic failures resulting from
`.clone()` misuse. It also renames the float context to the simpler
`Floats`. The new version is modeled on WebKit's `FloatingObjects`.
layout: Attempt to lay out blocks in parallel if we can prove (via
`clear` or by establishing a block formatting context) that they are
unaffected by floats.

This results in a 2.78x parallel speedup over sequential on the attached
test case, `perf-acid1.html`.
layout: Implement the correct behavior for block formatting contexts
adjacent to floats per CSS 2.1 § 9.5.

Results in an 80% parallel improvement on YouTube.