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.
Ok we need a doc header here that describes  path, state and reason carefully...