layout: Make some formatting cleanups.

These should have no effect on functionality.
layout: Use the new `append_from` method to get rid of a bunch of moves
in display list construction.

These were showing up in the profile.
layout: Put {ib} splits into a linked list so we stop copying them all
the time.
layout: Stop adding damage when removing whitespace.

Avoids total reflow of the entire document on the maze solver.
auto merge of #3837 : pcwalton/servo/layout-formatting-cleanups, r=metajack

These should have no effect on functionality.

r? @metajack
auto merge of #3839 : pcwalton/servo/fewer-moves-in-dls, r=glennw

These were showing up in the profile.

r? @glennw
auto merge of #3840 : pcwalton/servo/ib-splits-linked-list, r=glennw

r? @glennw
auto merge of #3841 : pcwalton/servo/removing-whitespace-damage, r=cgaebel

Avoids total reflow of the entire document on the maze solver.

I have tested Wikipedia reflow and it still works.

r? @cgaebel