[BackgroundSync] Initial land of the BackgroundSyncManager

The BackgroundSyncManager is the class that handles registration of
background syncs. This first CL handles storage and retrieval of
registrations and sequential ordering of async operations. Future CLs
will add permission checks and incorporate a scheduler.

Eventually the BackgroundSyncManager will be created and owned by the
BackgroundSyncMessageFilter, which will be owned by the RenderViewHost.

BackgroundSync Design Doc: https://docs.google.com/document/d/1MAuNzV0q5FporLZVJMh7CMrwTHwcZsWX6YUwPwKMGco/

BUG=449443

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

Cr-Commit-Position: refs/heads/master@{#322375}
15 files changed