feat(dccd):ObservableList / ObservableMap & Observable

For now this is a first batch of changes for Observable support to use notifications for `ObservableList` & `ObservableMap`

Things missing from this PR:
- [ ] Test switching back & forth from List to ObservableList (same for Map) - pending on #1158
- [ ] Test the canceling of stream subscription on record & group removal

The code is not expected to change so the PR is ready for review (only tests should be added)

Next steps (further PRs):
- Use notifications for obj.fields for objects,
- Investigate using two separate lists (notified, unnotified)
This does not work on transformed code (it would require to write a custom transformer, the polymer script_compactor could be used as a starting point).

An easy option is to dirty check all fields when a Notification is triggered on an object (we would not get as much as by checking the field).