Refactor notifiers

Notifiers are now classes with a common interface
inherited from `Guard::Notifier::Base`:

* `#notify` (required)
* `.available?` (optional)
* `.supported_hosts` (optional)
* `.gem_name` (optional)