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)

What do you think of this?

Also, I think after this refactoring it'd be very easy to extract the notifiers
to a separate gem. I couldn't find such gem (there's [notifier](http://rubygems.org/gems/notifier) but I don't really like its
approach...) so I thought we could create a new one and name it "Brief"!

What do you @guard/core-team think?