Stop cloning FrameTrees

This fixes an issue where a ChildFrameTree is inserted into a clone of its
parent, rather than its "real" parent, as noted in #2124.
auto merge of #2134 : mbrubeck/servo/frametree-clone, r=larsbergstrom

This fixes an issue where a ChildFrameTree is inserted into a clone of its parent, rather than its "real" parent, as noted in #2124.

This moves `FrameTree::iter` and the methods that depend on it into a new trait that is implemented on `Rc<FrameTree>`, since it's safe to clone an `Rc<FrameTree>`.

r? @larsbergstrom
Stop using deprecated RefCell<T>::get

It's going away in the next Rust upgrade.
auto merge of #2135 : mbrubeck/servo/refcell-get, r=larsbergstrom

It's going away in the next Rust upgrade (mozilla/rust#13301). r? @larsbergstrom

We'll need to do the same in rust-layers.
Add instructions for building servo on Fedora Core.
auto merge of #2138 : cgjones/servo/fedora-build-instructions, r=jdm

Pretty straightforward, except that Fedora doesn't provide a package with the MS core fonts, so devs have to build the package themselves.
Ensure that optional primitive arguments aren't treated as nullable.

By forgetting the Some(), we caused type inference to convert to Option<T>
for optional non-nullable primitive arguments, and to Option<Option<T>> for
optional nullable primitive arguments (essentially the same thing). This
change brings the primitive codegen in line with the DOMString codegen.

Using distinct types for optionality and nullability would have prevented
this issue.
Use to_ascii_lower() and eq_ignore_ascii_case() instead of unsafe code.
auto merge of #2143 : Ms2ger/servo/optional-primitives, r=jdm

By forgetting the Some(), we caused type inference to convert to Option<T>
for optional non-nullable primitive arguments, and to Option<Option<T>> for
optional nullable primitive arguments (essentially the same thing). This
change brings the primitive codegen in line with the DOMString codegen.

Using distinct types for optionality and nullability would have prevented
this issue.
auto merge of #2145 : SimonSapin/servo/to_ascii_lower, r=metajack

This reverts [some changes made during the 2014-03-04 Rust upgrade](https://github.com/mozilla/servo/commit/bbac8aa5c3d95e70151b824ca3443f0fb4d9b5a5#diff-d084c1d37003c83f26aa4dac0e8d9e6bL221). @larsberg, what was the reason for preferring the unsafe `.to_ascii_nocheck()`?

r? @larsberg
Remove NSS and NSPR from the build.

These were not being used and are responsible for a large amount of work
and problems.
auto merge of #2146 : metajack/servo/bye-bye-nss, r=jdm

These were not being used and are responsible for a large amount of work
and problems.
Implement Window.set/clearInterval.(fixes #2116)
auto merge of #2129 : lpy/servo/issue2116, r=jdm

see #2116
I add an `is_interval` field, so that when the `TimerData` is passed by `SetInterval`, we will not delete it from `active_timers`.
Also I think maybe we can extract the code in `ClearTimeout` and `ClearInterval` into another method to avoid duplicate.
Default to CPU renering on Android to avoid GPU-rendering-specific driver woes
auto merge of #2148 : larsbergstrom/servo/android_201404c, r=metajack

On Android, our feeble GPU graphics stack is even less reliable than it is on Linux. To make it easier to bring Android devices online, this patch defaults to CPU rendering, which is much more stable and, frankly, faster.

r? @metajack
Add transparent Traceable and Untraceable types to aid proper rooting practices, and replace ad-hoc Untraceable structs with empty Encodable implementations.
auto merge of #2147 : jdm/servo/untraceable, r=Ms2ger

...actices, and replace ad-hoc Untraceable structs with empty Encodable implementations.
Associate ResourceTask with UrlProvenance
auto merge of #2152 : jsanders/servo/fix-inline-css-resource-task-failure, r=jdm

Fixes #2121

I thought this would be better than passing an `Option<ResourceTask>` to `parse_css` because it avoids having to handle the potential failure at runtime when unwrapping.

No test included, but the error was reproducible by running content/test_getBoundingClientRect.html, and this fixes it. Glad to find a way to add an explicit test if need be.