[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).
I think we should either rename `CollectionChanges` into `ListChanges`, or rename `RECORD_TYPE_LIST` into `RECORD_TYPE_COLLECTION`. Right now the names are not consistent.