Make ContainerLayer::first_child borrow temporary

Fixes a crash in ContainerLayer::remove_child (#1778).
Remove now-redundant clone()
Make ClientRectList::rects a Vec.
Make Document::idmap store a Vec.
Make Element::attrs a Vec.
Make EventTarget::handlers store a Vec.
Make static HTMLCollections use Vec.
Make TreeIterator::nodes a Vec.
Make simple NodeLists use Vec.
Remove unused support for passing extra arguments for timers.
Make ScriptTask::mouse_over_targets use Vec.
Make PageTree::inner and PageTreeIterator::stack a Vec.
Make open_elements in htmlserializer.rs use Vec.
Make chain in eventdispatcher.rs use Vec.
Make get_nodes_under_mouse return Vec.
Make get_content_boxes return Vec.
Use Vec in Node mutation methods.
Make ProgressMsg use Vec.
Use Vec for the remaining ~[T]s in script.
auto merge of #2236 : Ms2ger/servo/Vec, r=jdm

I'd rather do this before it turns out that a rust upgrade removed `~[T]` behind our back.