Policy providers all get a SchemaRegistry to work with.

The SchemaRegistry contains the components that the policy provider should load
policy for, as well as the expected policies and their types for each component.

Also killed the PolicyDomainDescriptor, which was a similar way of doing this
but had the problem of overlapping descriptors on shared policy providers.

BUG=270667
R=bartfab@chromium.org, jochen@chromium.org, kalman@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234514 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 234514
Removed the PolicyDefinitionList.

This list was generated at compile time and included policy information
extracted from the policy templates file that was useful at runtime, such as
the policy names, types, deprecation status, etc.

Most of this information is now available via the Chrome policy schema, so
this list was largely redundant.

The chrome-specific data in this list is now available in a list of
PolicyDetails, also generated at compile time and kept in sync with the Chrome
schema data.

Refactored all the remaining users of PolicyDefinitionList to use the schema
and/or PolicyDetails now. Also introduced a test helper to mock out
PolicyDetails in tests.

Cleanup: moved policy_test_utils.h to policy/test/

BUG=270667
R=bartfab@chromium.org, dubroy@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234515 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 234515