Currently, the ReportingGarbageCollector only erases failed reports and expired reports. It should also garbage collect endpoint configurations that are expired, stale, or have failed more than a given number of consecutive times, as per the spec (https://w3c.github.io/reporting/#gc).
Additionally, we should also remove reports with no matching endpoints for their origin and group, which the spec suggests in step 3.5 of https://w3c.github.io/reporting/#send-reports. Currently those reports are repeatedly attempted unsuccessfully to be sent, resulting in them sitting in the cache until they are evicted or expired out. Garbage collecting them periodically should result in fewer report evictions and expirations.