CSS source line matching.

InspectorStyleSheet supposes that each startRuleHeader is paired with appropriate endRuleBody. Old code which calls endRuleBody in various parts of grammar made keeping that assumption valid fairly difficult.

This CL replaces it with startRule/endRule pair and calls it on higher level (what eventually translated into startRuleHeader/endRuleBody in source data handler).

before_rule in the second part of block_rule_body is essential because sequence "block_rule_list before_rule error error_location rule_error_recovery" could be reduced to "block_rule_list invalid_rule" if next token is "{". There is shift/reduce conflict without before_rule.

before_rule in region_block_rule_body is essential because otherwise it could be pulled out of stack and startRuleHeader could be not paired (second test case fails without it).

BUG=317499

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

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