Add a .gitignore
Remove configure_requires

There are no need configure_requires.
Because the Build.PL has `use v5.12.0;' and Module::Build is a core module at v5.12.0.
Add add_to_cleanup to clean various files
Remove wrong usage of accessor

Plack::Util::Accessor does not support a class accessor.
If you use as such above, you will see a following warning.
> Name "Plack::Util::Accessor::..." used only once: possible typo at .../Plack/Util/Accessor.pm line 19.
Fix Slack::Controller has not been loaded

The bug only occurs when the application is minimum that does not have any controller.
Change to halt when a module loading failed
Fix a source filter to avoid a case of a hash key

The hash key sometimes looks like bareword.
For example, { req => ... }
Change to avoid confuse between import and inherit

The new signature is as follows.

    use Slack qw(Controller);

It is nearly equivalent to

    use Slack::Controller;
    use parent qw(Slack::Controller);

No longer, "use Slack::Controller" is not a good idea.
`use Slack qw(Application)` is ditto.
Add an assertion whether the prefix is valid
Add context object to isolate action from request

Simultaneously, Slack::Controller no longer need %ACTION.
So, move %ACTION into Slack.
Change to ignore garbage for git and manifest
Change to divide Slack's roles into sub classes

Slack had a role in both the Plack App and action collector.
It will be a little confusing.
So, do divide the roles between Slack::App and Slack::Controller.
As a result, the controller will have the actions, and the application will have the controllers.
Change to not mix normal capture and named capture
Fix to follow perlcritic
Bump version to 0.02
Fix the document of Slack