Allow union types to be used as return values
auto merge of #2573 : Manishearth/servo/union-return, r=Ms2ger

Blocks #2559
Make the bindings make target work on all platforms.
auto merge of #2614 : saneyuki/servo/make, r=jdm

Fix #2583
Use RefCell for mutability of Element::style_attribute.
auto merge of #2615 : saneyuki/servo/refcell, r=Ms2ger

related: #2513
Make Attr::value private.
Simplify Element::set_attribute for its remaining callers.
Implement support for parsed attributes.

This commit is heavily based on earlier work by Bruno Abinader in #2073.
Implement Element.classList (partially fixes #1717).
Implement parsed 'unsigned long' attributes.

This commit is partially based on earlier work by Bruno Abinader in #2073.