layout: Make `box-sizing` only affect explicitly-specified or percentage
sizes, not automatically computed ones.

Improves GitHub significantly.
fix debian install instructions
Add [foo=bar i] case-insensitive attribute selectors.
Rewrite the user-agent stysheet(s)

Based on https://html.spec.whatwg.org/multipage/rendering.html
rather than http://dev.w3.org/csswg/css2/grammar.html
auto merge of #3615 : pcwalton/servo/box-sizing-fix, r=glennw

Improves GitHub significantly.

r? @glennw
Update reftests for UA stylesheet changes.
auto merge of #3627 : steveklabnik/servo/master, r=larsbergstrom

This may be because I'm on Ubuntu, but this was the name of the package.
Include leading margin in inline block size

According to the documentation for Fragment::position, the inline axis
should include margin size, so we include it for blocks. Also fix
place_float which assumed that it was not included and
assign_inline_sizes which overrode the size set in
set_inline_size_constraint_solutions.

Typically this issue was hidden by large tile sizes, but fitted tiles
makes it more common.
auto merge of #3618 : mrobinson/servo/layer-sizing, r=pcwalton

Extra size from margins should be included in block size, so that
layers are large enough to include the entire block. This is typically
hidden by large tile sizes (512x512), but fitted tiles makes the issue
a lot more common.
auto merge of #3635 : SimonSapin/servo/ua-stylesheet, r=pcwalton

Based on https://html.spec.whatwg.org/multipage/rendering.html rather than http://dev.w3.org/csswg/css2/grammar.html

Fixes #3629.

r? @pcwalton