server: catch top-level error and log it with winston
models: update local persistent model on group update
admin: replace deep-diff by a custom implementation

This seems a bit risky but it was a move to try to fix angular
duplicating dashboards during update. This didn't work as expected but
the new way should be more efficient just by allowing to move a
dashboard in an array efficiently.
admin: use `track by` with `ng-repeat` to get stability in dashboards

With `track by`, Angular.js avoid to destroy/recreate DOM nodes. That's
great!