Restructure chooser object for site_settings

This change implements two new helper methods for site settings that
organize the chooser exceptions in a way that allows their corresponding
site exceptions to be grouped under the same exception. The structure of
the objects returned by GetChooserExceptionListFromProfile(), described
in jsdoc notation, is the following:

{
  chooserType: string,
  displayName: string,
  object: Object,
  sites: Array<!SiteException>
}

The objects in the sites array follow the same structure as the
non-chooser exceptions.

Design doc:
https://docs.google.com/document/d/1MPvsrWiVD_jAC8ELyk8njFpy6j1thfVU5aWT3TCWE8w

Bug: 854329
Change-Id: I92a654da2ef9d1d0f045df0a35eaf70a1940b44e
Reviewed-on: https://chromium-review.googlesource.com/c/1357605
Commit-Queue: Ovidio Henriquez <odejesush@chromium.org>
Reviewed-by: Dan Beam <dbeam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613280}
3 files changed