Separately record sources which failed completely and fix handling of optional elements in CSW harvester
This allows us to expose this via e.g. Prometheus counters which can eventually be used for alerting.
The resulting metrics page before the CSW fix itself
and after applying the second commit
with the underyling issue being a missing format name which maps nicely to Rust's Option
even though it drops the reason (but I have not found reason other than "unknown")
Closes #148 (closed)
Edited by Adam Reichold