Move deprecation stuff into Guard::Deprecator
Move setup stuff into a new Guard::Setuper module
New `Guard::PluginUtil` class.
Deprecate Guard::Guard and replace it with Guard::Plugin
New Guard::Plugin::Base module common to Guard::Guard (deprecated) & Guard::Plugin
Rename Guard::Hook to Guard::Plugin::Hooker
Move Guardfile-related constants to Guard::Guardfile
Simplify Guard.within_preserved_state
Improve Guard.groups and Guard::Group#to_s
Remove Guard.quit? since it doesn't seem to be used!
New #title method for Guard::Group & Guard::Plugin

Also, streamline requires
Improve Guard::Dsl API and documentation
Re-add .template in Guard::Plugin::Base

We don't need to break the current API too much! :)

Also, more documentation for Plugin::Base, Setuper and Group
Refactor and document Guard#guards, Guard#groups, Guard#add_guard and Guard#add_group
Move Guardfile evaluation stuff into Guard::Guardfile::Evaluator
Deprecate Guard::Guardfile in favor of Guard::Guardfile::Generator

Also, refactor Guard::DslDescriber, re-add Guard's deprecated
methods (now in Guard::PluginUtil) and allow
Guard::PluginUtil#initialize to take 'guard-xxx' or 'xxx' as argument
Move colors from Guard::UI to Guard::UI::Colors
Deprecate Dsl & DslDescriber properly
Improve gemspec, .gitignore, .travis.yml and checked Yardoc
Move deprecated methods into a new Guard::DeprecatedMethods module