Encapsulate CSS selector declarative content condition tracking

This is the first step in a refactoring of the declarativeContent API
implementation. The goal is to facilitate profile state matching by
providing abstractions for conditions and condition state tracking
and evaluation.

This CL consists of steps 1 and 2 described in the associated bug:
by-hand instantiation of DeclarativeRule as DeclarativeContentRule to
decouple changes from the web request declarative API implementation,
and encapsulation of CSS selector condition tracking logic. No
functional change is intended.

BUG=492946

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

Cr-Commit-Position: refs/heads/master@{#333144}
13 files changed