Browsing Data: Unify storage usage structs

Code in chrome/browser/browsing_data queries storage back-ends for
origins and the size on disk and last modified time of each origin's
data. This is done for each storage backend by unique plumbing between
a BrowsingDataXXXHelper and the corresponding XXXContext via the
BrowsingContext's StoragePartition. The same data (list of
origin/size/time tuples) is reported for each storage backend.

Replace structs specific to each type (e.g. XXXUsageInfo) with a
generic StorageUsageInfo struct. This removes several nearly identical
classes from content/public/browser (for Indexed DB, Cache Storage
API, Local Storage, Service Worker). Follow ons can remove similar
classes (e.g. PendingXXXUsageInfo) and do other code deduplication.

One functional change: The list of scopes registered for Service
Workers is no longer displayed in the "cookies tree"
(chrome://settings/siteData); this is not useful for end users and
developers should use devtools instead.

Change-Id: Ibd759c3e303188580aea8bfcaa450b44183bc100
Reviewed-on: https://chromium-review.googlesource.com/c/1308074
Commit-Queue: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605521}
63 files changed