Fix list update

The problem was with the extend method from the extend npm package, which messed up with arrays of objects.

Changed it to use `angular.extend` which just replaces array properties. This results in the collections "flashing" (due to animation) in the UI, but they update correctly. If that's not desirable, we may need to do a smarter update.