Change the way iter_changes treats specific files to prevent InconsistentDeltas.
This is the internal core code that handles specific file operations like ``bzr st FILENAME`` or ``bzr commit FILENAME``, and has been changed to include the parent directories if they have altered, and when a directory stops being a directory its children are always included. This fixes a number of causes for ``InconsistentDelta`` errors, and permits faster commit of specific paths. (Robert Collins, #347649)