Remove all old layers when creating a new root.

Fixes #2259.
Check the pipeline ID of the new root layer.

This isn't related to any known issue, but is just to ensure that the IDs are
set correctly within this function.
Remove unused delete_layer code.
auto merge of #2575 : mbrubeck/servo/2259-remove-old-layers, r=pcwalton

This fixes #2259 which was caused by some of the previous layers sticking around incorrectly.  Depends on mozilla-servo/rust-layers#69.

Also includes some related cleanup as separate commits.

No reftest because our test harness doesn't yet support navigating to a new page (#2574).
Minor style cleanups in Cache code

- Make ApplicableDeclarationsCache::cache priv
- Add a missing semicolon for clarity
- Remove a useless `drop` call.
Minor code cleanup in css::matching
Fix deriving in cascade_with_cached_declarations

Even though we don't recompute non-inherited properties here, we still need
to compute properties that are derived from them.  Fixes #2498: because
text-decoration is not inherited, -servo-text-decorations-in-effect was not
derived correctly for cached declarations.
auto merge of #2581 : mbrubeck/servo/declarations-cache, r=pcwalton

Fixes #2498.  Also includes a reftest, and some related code cleanup (in separate commits).

Note: The fix in `properties.rs.mako` is much more readable with `git diff -w`.