feat(dccd): Observable support

Tweaks to the Observable / ChangeNotifier Support:

- Relax the requirement for Map and properties watch: they now only require to implement `Observable` vs `ChangeNotifier` before,
- Plug in Observable support for `Map` key watches.

/cc @yjbanov 
how does the map change record reach the change iterator without a call to `microLeap`? Aren't map changes delivered via microtasks?