[CSS Grid Layout] Add support to place items using named grid lines

Currently our code assumes that a <custom-ident> in
grid-{column|row}-{start|end} and grid-{column|row} is always a grid area.
That's wrong because the <custom-ident> could be also a explicitly named
grid line.

Our resolution code is not correct either. This patch fixes it so it now
matches the spec which means that:
* first we try to match any existing grid area.
* if there is a named grid line with the name <custom-ident>-{start|end} for
grid-{column|row}-{start|end} defined before the grid area then we use it
instead of the grid area.
* otherwise if there is a named grid line we resolve to the first such line.
* otherwise we treat it as 'auto'.

BUG=337779

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

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