Create an alert dispatcher with cancellation

Move the Dispatcher into its own package file (alerts/dispatcher.py).