Make Controller::redirect() return response object.

The $exit param has been removed and it no longer sends response and exits.
Allow Controller::startup() to return Response object.

Since Controller::redirect() no longer exits components like AuthComponent return
response object after setting up redirection. The dispatch process is also updated
to account for this change.
Allow authenticator's unauthenticated() method to return response.
Stop event propagation when returning response.
Allow all controller/component callbacks to return response instance.
Fix method call.
EventManager::dispatch() returns event not result.
Return null instead of true.

Doesn't make sense returning a boolean when it's always true.
Remove unnecessary check.
Merge pull request #3401 from ADmad/3.0-controller-redirect

3.0 controller redirect