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.
Merge pull request #4223 from chinpei215/2.6-issue2529-fix

Fix different format of $results in afterFind