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...
adding xtrabackup support (via innobacupex utility)
fixed explanation of MySQL backup_engine
Properly escape special characters in MySQL credentials

Previously the code could handle almost all special characters by surrounding them with a single quotes.
Unfortunately that doesn't work if the credentials contain a single quote.
Ruby already includes the shellwords library which properly escape a string for use in a shell command.
Fix typo
Merge pull request #527 from paracycle/slack

Add Slack notifier
Release v4.0.2
Add Code Climate Badge to help contributors

This will help contributors target where they should focus their activities. :)
Merge pull request #559 from nacengineer/patch-1

Add Code Climate Badge to help contributors
Add template for Slack notifier
Add Slack notifier to CLI spec
Merge pull request #561 from cssu/master

Add template for Slack notifier
Adding param to specify which file to be used for writing logs
Merge pull request #557 from krautcomputing/fix_typo

Fixed typo in PostgreSQL database adapter.
Add Flowdock notifier
Merge pull request #543 from jemcgee/master

send_nsca.cfg file for nagios notifier
Merge pull request #552 from patatepartie/master

Properly escape special characters in MySQL credentials