Add alerts.Dispatcher with alert cancelation.

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

* Dispatcher powered by coroutines
  * can be updated to fire off an alert
  * alert can be canceled within (hardcoded) 2 seconds
  * original call receives the action that should be taken
* Integration test for the Dispatcher's cancel system.

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