Support invalidation sets for negated selectors.

Add invalidation set features to invalidation sets for negated classes, ids,
etc. But still treat negated features as universal selectors and trigger
subtree recalc.

Example selector -> invalidation set mappings:

":not(.a)"    -> ".a {}"
":not(.a) .b" -> ".b {}, .a { .b }"
".a :not(.b)"  -> ".a { * }, .b {}"
".a .b:not(.c)" -> ".a { .b }, .b {}, .c {}"

BUG=377939

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

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