[WIP] feat(Change Detector): Add support for collection deep watch

**Work in progress**

Add support for deep watch (collections are normally watched by ref only).
+1 for a better name.

I kind of like always watching collections at the end of the chain but:
- I think it would impact perf as we would need to check all the "end of chain" records,
- The client must be aware that it can handle collection (because the code to handle `CollectionsChanges` vs `record.currentValue` & `record.previousValue` is different.

Then not sure if it's worth it ?