V2.0 refactorings

Hi guys!

With 2.0 in mind, I've made many refactorings to almost all the parts of the code!

* As discussed in #426, I've deprecated `Guard::Guard` in favor of `Guard::Plugin` (with a deprecation warning message show-able with the `--show-deprecations` options).
* I've moved many methods from `Guard` to `Guard::Deprecator`, `Guard::Setuper`, `Guard::PluginUtil`. See the individual commits for the details.
* I've also moved `Guard::Hook` into `Guard::Plugin::Hooker` and created a new `Guard::Plugin::Base` for the common methods of `Guard::Plugin` and `Guard::Guard` (deprecated).

See the individual commits for the other stuff I forgot to mention here!

Thanks for the feedback!