add an instance cache for is(something) calls
remove isCache method

except for mobile, no is calls should persist. So it's not likely to be
of any use
move the normalizing logic to the public function
fix almost all tests
add a function for clearing the detector cache
better test description

This appears to be the actual intent of this test
add parentheses to referenced method name

prevents potential confusion
Fix bake & other shells exiting incorrectly.

If a shell command method returns `null`, we should treat the command as
successful. Only when a shell returns `false` should we exit non-zero.

Refs #5063
Expand variable name, add comment and fix tests.
Merge pull request #5072 from cakephp/issue-5063

Fix bake & other shells exiting incorrectly.
Merge pull request #5049 from AD7six/3.0-cache-is-calls

cache is calls
Adding failing test to prove #5081
Fixes #5081
Merge pull request #5083 from cakephp/3.0-fix-comparison

3.0 fix comparison
Remove unneeded unset() call.

SecurityComponent doesn't deal with csrf token anymore.
Update docblock
Making i18n in the validation class optional, closes #5085
Merge pull request #5092 from cakephp/3.0-remove-validation-i18n

Making i18n in the validation class optional, closes #5085
Don't include association conditions when marshalling.

When marshalling belongsToMany associations we should ignore association
conditions as they can easily contain conditions on the joint table, or
create impossible conditions. Instead we should honour the `prop._ids`
data and leave validating associated data up to the developer, as they
may want to display an error on invalid data.

Refs #5073
Added triggering of Auth.afterIdentify and Auth.logout events.

Auth.afterIdentify is triggered after a user has been identified.
BaseAuthenticate::logout() has been removed, instead authenticate classes should
add listener for Auth.logout event if needed.