3.0 plugin shell aliases

This aliases plugin shells so that no plugin prefix is needed when invoking them:

Before:

```shell
bin/cake DebugKit.whitespace
```

Now:

```shell
bin/cake whitespace
```

In case of conflict with shells in app, the aliasing does not occur and you will need to invoke the shell using plugin notation. Plugin aliases are processed in the order plugins where loaded, in case of conflicts with other plugins, the first plugin in the list will prevail.
That's a good idea. But I'm not sure if it is possible to log stuff from the shell dispatcher as there is no ConsoleIO object yet