ServiceWorker: Schedule DeleteAndStartOver when failing to store resource ids
Storing uncommitted or purgeable resource ids maybe bumps the next available
resource id stored in ServiceWorkerDatabase. If these database operations fail,
subsequent resources could use conflicted ids.
To avoid the confliction, this CL makes ServiceWorkerStorage check the result of
storing resource ids and schedule DeleteAndStartOver if there is an error.