Fix afterFind() called twice with hasMany relationship

It occurs when a model and the children models are related to a same model.
For example, such as the following:

* User hasMany Comment
* User hasMany Article
* Article hasMany Comment
Fix different format of $results in afterFind

Refs #2529

As of this commit, we can get consistent format of $resutls in afterFind.
And we can keep backward compatibility if Model::$useConsistentAfterFind is set to false.
Update ExtractTask.php

Correct plugin Locale path: inside src folder (plugins/_NAME_/src/Locale, not plugins/_NAME_/Locale)
Update FormHelper.php

An pull request for #4410.
Update ExtractTask.php

Fix with Plugin::classPath as @markstory suggested
Made AuthComponent::mapActions() act as a getter refs #3331
Fix TableRegistry behavior when called several times with the same options
Fixing docblock
TableRegistry::get options should be identical to get the same instance
Update exceptions used in cache engines.
Fix tests.
Update exception in log classes.
Merge pull request #4434 from eryw/bugfix/patch-tableregistry

Fix TableRegistry::get() behavior when called several times with the same option
Optimize Inflector.

Use a single list of uninflected rules.
Do not hinder fatal error causes when debug = false.

In the past it was impossible to use custom exception handlers to
log the cause of fatal errors. Removing this hindrance makes for
happier reporting tools
Fixed CS error
Using a simple string interpolation reouting in QueryLogger

The idea is to try to not depend on the String library inside Database lib.
Not using String::insert() would also make @markstory happy
Fix AppVeyor builds

The class imports were incorrect, and tests were failing on AppVeyor.
Merge pull request #4441 from cakephp/3.0-better-fatal-handling

3.0 - Do not hinder fatal error causes when debug = false.
Merge pull request #4444 from cakephp/fix-windows-build

Fix AppVeyor builds