layout: Refactor flow construction to move around large structs less.

5% perf win, and a net loss in lines of code.
script: Pass the correct parent node to pre_insert in insertBefore

Closes #1572.
Add a test file for insertBefore
Give up and set the initial size to be the same as the default size for reftests
Use synchronous image loading for ref test baseline writing
Update to rust-png with fix for truncation
tests: Add missing finish() and a title in insertBefore content test
auto merge of #1621 : abustany/servo/fix-insert-before, r=Ms2ger

Closes issue #1572
auto merge of #1623 : larsbergstrom/servo/inline_border_reftest, r=metajack

r? @metajack

These are all commits you've previously reviewed, but without the image_border change madness. We're seeing some intermittent reftest failures, so I'd like to separately land these.
auto merge of #1615 : pcwalton/servo/fewer-memmoves, r=larsbergstrom

5% perf win, and a net loss in lines of code.

r? @larsbergstrom
Eliminate the extra indirection of DList<~Flow>
auto merge of #1626 : kmcallister/servo/flowlist, r=pcwalton

r? @pcwalton

Some points of concern:

* Is this really memory-safe? Is there a way to access a stale `Rawlink` that doesn't exist in the normal `DList` code?
* Is it okay to coerce both `~Flow` and `&Flow` to `(uint, uint)` (or the moral equivalent) and compare them?  Will a given `Flow` always have the same (obj, vtable) regardless of whether it's obtained through `~Flow` or `&Flow`?
Implement document.characterSet

Spec:
http://dom.spec.whatwg.org/#dom-document-characterset

This is a sub-task for #1428.