Check cached child Path values against reality.

This potentially avoids a whole class of bugs where stale child Path
values were being returned even after the underlying AST had changed.