Add Slack notifier

Adding a notifier for [Slack][1] based on the code from the Pushover
integration. The Slack integration uses Incoming Webhooks from the [Slack
API][2].

  [1]: http://slack.com
  [2]: https://my.slack.com/services/new/incoming-webhook
Include more data in attachments

- Added ability to send extra data in attachments. This was modelled on
  the Mail notifier. The Job, Started, Finished and Duration fields are
  always sent in the attachment. If the `send_log` option is true, the log
  is also sent in the Detailed Backup Log field. The attachment color is
  one of the predefined Slack colors "good", "warning" and "danger".
- Added a helper method to test Excon invocations so that we can just
  match the payload fields that we are interested in.
- Updated all Hash operations to use the hash-rocket syntax
  instead of the newer 1.9 syntax.
Added 'Slack' to DSL constants to prevent "NameError: uninitialized constant Backup::Config::DSL::Slack" error
Merge pull request #3 from gerard-leijdekkers/slack

Added 'Slack' to DSL constants to prevent "NameError: uninitialized cons...
Merge pull request #1 from paracycle/slack

Add Slack notifier from @paracycle