Add: CounterCache feature to hasMany models

as discussed in issue #1879