fix(dirtychecking): don't throw when watching a child of an initially undefined property

Closes #29