NetworkErrorLoggingService: Load from and write to a PersistentNELStore

This CL implements the interface between NetworkErrorLoggingServiceImpl
and its PersistentNELStore. If a store is provided upon construction,
The NetworkErrorLoggingService will attempt to load all NEL policies
from the store on the first call to OnHeader(), OnRequest(),
QueueSignedExchangeReport(), RemoveBrowsingData(), or
RemoveAllBrowsingData(). Until the store notifies us that it is
done loading, calls to those public methods will be queued in a backlog
to be run in order upon completion of loading. Any changes to the NEL
policies stored in memory will be reflected in the PersistentNELStore.

Bug: 895821
Change-Id: Ib9a18a2b6c73641ee0a3d2f7b119b4c710c4db5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1555242
Commit-Queue: Lily Chen <[email protected]>
Reviewed-by: Eric Orth <[email protected]>
Reviewed-by: Martin Šrámek <[email protected]>
Cr-Commit-Position: refs/heads/master@{#654452}
11 files changed