Add alerts.Dispatcher with alert cancelation.

This is a work-in-process which adds the following features:

(!) This change actually removes emailing because this is WIP!

* Monitoring no longer sends alerts, it updates the dispatcher.

* Dispatcher powered by coroutines
  - Receives "update" messages from the monitor.
  - An update can either set, or cancel an alert.
* Handles knowledge of various alert engines.
* Iteratively fires off all alerts for a given path config.

* Tests:
  - Dispatcher alerting
  - Dispatcher cancellation
  - Monitoring contacts dispatcher

* Todo:
  - Add a test that monitor contact dispatcher *async*.