Remove attr() data dependency

- attr() no longer depends on data
- model.setupData() calls notifyPropertyChange() for provided properties only
- store.push() now handles partial updates
- store.update() has been deprecated

Fixes #2450