Notify DataDog when nightly snapshot fails

[finishes #47301581]

* Backfill some config specs.
* Refactor some classes in the HM to have more of their dependencies
  injected into them.
Add a functional test for the Health Monitor

The test creates a fake NATS, starts the HM before sending a fake
message over NATS and making sure that the plugins are notified.