Add: CounterCache feature to hasMany models

as discussed in issue #1879 
Why not have this happen automatticaly in the constructor?
No reason to put more code in the association, the less code in the association the better :)