Initial implementation of isAction().

Having a hook method will allow userland code to customize which methods
are exposed as an action.
Update AuthComponent to use new action handling methods.

Instead of using the old controller property authcomponent should use
the new features to check for valid methods.
Fix failing tests and remove PrivateActionException.

With isAction() handling private method access checks, we can't easily
distinguish between methods missing, and methods not having public
visibility. This error class is just cruft now.
Replace ReflectionMethod with is_callable checks.
Remove additional is_callable checks.

People overriding isAction() will have to do it correctly.
Fix PHPCS error.
Merge pull request #4811 from cakephp/controller-isaction

Controller isaction