utils: Added the ChangeCountable interface and make Name, etc. use it.  Added the ChangeCounter class and make Data, etc. use it to track whether child objects are changed.