separate Notifiers from the backup process

While Notifier failures will be logged, they will no longer cause a
Model to fail or affect the exit status of `backup perform`.
Model#perform! now sets Model#exit_status, which is based on the result
of performing all actions prior to sending notifications.
cleanup Notifier specs
retry failed notifications
update Notifier::Campfire to use Excon
update Notifier::Prowl to use Excon
update Notifier::Pushover to use Excon
ruby-1.8.7 compatibility
set sendmail and exim paths using Utilities

- Deprecates the `sendmail` and `exim` options. If the paths to these
  utilities need to be set, use Utilities.configure.
- Path to `sendmail` and `exim` will now always be passed in the options
  to the Mail gem, so we don't rely on it's default paths.
add Notifier::Mail#send_log_on

Allows user to configure whether or not to send the attached log file.
By default, the log is attached to :warning and :failure notifications.
It may now be attached to :success notifications as well.
don't perform sprintf substitutions with user supplied strings
error handling updates

- refactored error wrapping code
- adds a FatalError for wrapping non-StandardError exceptions
keep sensitive info out of the log messages

- strip env vars from Utilities.command_name
- don't output full command line
fix slow tests
add before/after hooks

closes #342, closes #443
don't assume...
gem updates
Release v3.6.0
bump test VM version
Remove Bash expansion which breaks strict Posix compliant shells, e.g. Debian's dash
add #started_at, #finished_at, #duration to Model