Merge branch 'release/0.4.0-beta' into develop
fix(models): Use `angular.equals()` when calculating diff

Previously, all sub-objects were counted as different, even if they hadn't
really changed.
chore(release): release 0.4.0-beta.2
Merge branch 'release/0.4.0-beta.2'