Model fixes for registering change detection

Finally allows detection of child arrays when they're modified with array modifier functions such that

```js
var arr = model.get('array');
for ( var x = 0; x < 10000; x++) { arr.push('lol'); }
```

will fire the `array` event on the model.