Move margin handling and layoutBlockChild to RenderBlockFlow

Cribbed from webkit.org/b/121049

Continuing the work to move Block Flow layout out of RenderBlock
(the root for all kinds of block layout) and into RenderBlockFlow.
This change moves margin collapsing, which only applies to block
flow layout. I also moved MarginInfo's definintion from being
in the header to RenderBlockFlow.cpp, as it's only used by
internal functions.

All functions that return MarginValues or MarginInfo were moved
as part of this patch, and layoutBlockChild, which handles
margin collapse. Margin code was also tightened where possible
to look for RenderBlockFlow instead of RenderBlock.

This patch also created a RenderBlockFlowRareData internal class
that currently only holds Margin data. The goal is to move all
rare data from RenderBlock to RenderBlockFlow (or force them
into a hash), but during this transition both classes will
have rare data structures.

Review URL: https://chromiumcodereview.appspot.com/24079007

git-svn-id: svn://svn.chromium.org/blink/trunk@157928 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make FloatingObjects own it's FloatingObject instances

As part of decoupling FloatingObjects from RenderBlock, change
FloatingObjects to properly manage the FloatingObject instances it
contains.

As part of this change, FloatingObject::clone has been renamed to
FloatingObject::unsafeClone to make it obvious that it shouldn't be used
except in specific circumstances and that it is clearly different from
the new FloatingObject::copyToNewContainer method.

Another side effect of this change is that FloatingObject::setRenderer
has been removed now that the RenderBox must be set when the object is
created.

BUG=271774

Review URL: https://chromiumcodereview.appspot.com/23971011

git-svn-id: svn://svn.chromium.org/blink/trunk@157929 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Update some Android test expectations.

TBR=peter@chromium.org
BUG=289833

Review URL: https://codereview.chromium.org/23874022

git-svn-id: svn://svn.chromium.org/blink/trunk@157930 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Revert "Update builder lists in webkitpy, garden-o-matic, test-results for android.""

And re-land r156353 now that the Android bots are archiving results properly.

TBR=peter@chromium.org, abarth@chromium.org, ojan@chromium.org
BUG=276070

Review URL: https://codereview.chromium.org/24021009

git-svn-id: svn://svn.chromium.org/blink/trunk@157931 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make Element::attach 5% faster

Profiling one of Polymer's infinite list demos, we're spending all of our time
in Element::attach. A bunch of that time is wasted on function call overhead.
This CL inlines a few choice functions and saves 5% of the time below
Element::attach.

R=ojan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23496067

git-svn-id: svn://svn.chromium.org/blink/trunk@157932 bbb929c8-8fbe-4397-9dbb-9b2b20218538