Standardize alerter engines.

* Each engine receives the following data:
 - `path`: zk path that is alerting.
 - `state`: the state that is being alerted.
 - `message`: reason generated for given state.
 - `params`: arbitrary data from the config (yaml) for the given alert.

With this setup engines like Email or Hipchat can manipulate the data
enough to construct a well-read subject/body/notification.
Alert on "Now in Spec"

* Dispatcher metadata now includes an alert status for "SENT"
* Receiving a "Now OK" update from the monitor decides to either cancel
  the pending alert or send out the "Now in Spec" alert.