[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).
Not sure we need this branch. This can only happen because in the old implementation we executed fields and function calls out of order, but in this implementation we only have one Record list which does everything. Pretty sure we don't need it. @chirayuk can you weigh in as you did this fix.