Initial implementation of ShellDispatcher::alias().
Refactor shell finding so aliases do not overwrite app classes.

Aliasing a shell plugin should not overwrite a core/app shell. Instead
aliases should be fallbacks for when a core/app class cannot be found.

Refs #3325
Clean up code that supported using non-Shell objects.

I think we can remove support for running non-Shell shell commands now.
Fix failing tests on case-sensitive file systems.
Refactor ExceptionRenderer.

The ablility to have methods per exception has been removed. That feature
wasn't DRY.
Consolidate Error\BaseException and Error\Exception into a single class.
Use short param type.
Remove Exception coercion.

Just change error message and template instead.
Tweak template name generation.
Move reponse header setting.
Add back feature to have exception renderer methods for matching exceptions.
Correct doc block
Merge pull request #3358 from cakephp/shelldispatcher-alias

3.0 - Add Shelldispatcher::alias()
Merge pull request #3344 from ADmad/3.0-exception

3.0 exception