ShadowDOM styles should not match host element without :host.

Fixing r158523 and changing whether selectors in shadow trees match their shadow hosts in the following way:

- div:host, .foo:host, #bar:host, [foo=bar]:host  ==> never matches shadow host
- * ==> can match shadow host
- *:host ==> can match shadow host
- :matches(:host, ...) ==> can match shadow host
- :not(div):host ==> can match shadow host
- :not(div) ==> can match shadow host

BUG=274064
TEST=Updated existing layout tests to cover this change.

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

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