Insert rules in SelectorMap manually to avoid unnecessary allocation.
Eliminate use of `map` by using a for loop.
Avoid unnecessary cloning of Rule in SelectorMap code.

Do this by receiving a borrowed pointer in get_id_name(), etc..
Also, move the received argument in insert() method (instead of cloning it).
Make Rule have Arc<Selector> to eliminate allocation while cloning.
Use push instead of referring to the last element.
auto merge of #1299 : pradeep90/servo/rule-hash-optimize, r=pcwalton

Issue #1274

Also:
+ Reduce number of clones of Rule
+ Make Rule have Arc<Selector>
Use 'match' instead of 'if'.
Enable to update id attribute for Document.getElementById(). (#740)
Use 'DOMString' to define the type insteand of '~str'.

At now, 'DOMString' is equal to '~str'.
https://github.com/mozilla/servo/blob/155befe10dc56cfb2dfbf0cca7b652293dba9753/src/components/script/dom/bindings/utils.rs#L119
auto merge of #1302 : saneyuki/servo/getid, r=jdm

#740
Add FormData constructor
basic location
trace window.location and window.navigator
unrendered content uses doc's background color

  uses html's background color, or body's.
auto merge of #1272 : evilpie/servo/formdata, r=jdm
auto merge of #1210 : ibnc/servo/resizing_background_color, r=jdm

fixes #140

This shouldn't be merged until the appropriate change is made in rust layers (https://github.com/mozilla-servo/rust-layers/pull/37). I'm making a pull request anyway to start getting some feedback.
auto merge of #1270 : evilpie/servo/url, r=jdm

I wasn't sure how to store @window in Location, so I just made it use @Page for now. I was going to implement stringifier, but sadly some of the webidl stuff is like 1 year out of sync.
Use iter().map() instead of for loop.
Make PropertyDeclarationBlock have Arcs.
rustpkg.mk: Defer shell commands until after 'define' expansion

This way the uname -s check will prevent us from invoking nonexistent sw_vers
on Linux.