[LayoutNG] Support all types of flex base sizes

Old code only supported auto and fixed flex bases. This makes 3 more
tests pass.

Also added a ton of comments.

From spot checking, it seems many non-crash failures are due to not
setting the flex container's height correctly, e.g.
external/wpt/css/css-flexbox/align-content-001.htm
css3/flexbox/relpos-with-percentage-top.html

Bug: 845235
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I06a3d8f4b8923c8acb1d6fb07826da66d55826a5
Reviewed-on: https://chromium-review.googlesource.com/1088229
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565084}
4 files changed