FeaturePolicy: Count potential feature violations

This CL introduces a new enumeration metric for feature policies,
namely, "PotentialViolation". This new metric tracks potential
violations of each feature policy in a document; that is, for
feature policy X this metric would emit a potential violation if
the conditions to violate feature X are (regardless of the actual
feature X being disabled in the document). In other words, the
metric tracks the percentage of pages that would have violated the
given feature X if it was disabled in all documents.

Most current policies are covered by this CL. The few cases where a
policy generates its own violation report, or does not support
reporting violations yet, will be addressed in future CLs.

Bug: 915788
Change-Id: Iccb77ee8f47995a0debe7bb1faafbee3686b2ed6
Reviewed-on: https://chromium-review.googlesource.com/c/1380933
Commit-Queue: Ehsan Karamad <ekaramad@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618394}
6 files changed