feat(inputs): Support prometheus as alert data source
Previously Sciuro only supported AlertManager for its source of alerts.
This change adds support for multiple promethei to be
aggregated together as an alternative data source.
Since Prometheus does not have the concept of silences or server-side
filtering on its alerts endpoint, CEL was used to make client-side filtering more flexible.
Previously all matches were OR'ed together.
This also removes the need for us to maintain our own match code.
The internal memory structure of Sciuro now uses the Prometheus v1 alert
struct.
This structure holds a smaller set of data that is easier to populate
from AlertManager's response than the other way around.
The reconciler is largely unchanged.
If one or more Prometheus instances are unavailable the cache will still
populate but Sciuro's Prometheus metrics will inform the user of
collection failures.