Change RemoveDuplicateFiles & FixMissingFiles to only save on change

RemoveDuplicateFiles & FixMissingFiles overwrite the existing project file, even when there are no changes.  If an editor is open, the change in the file modified attribute, triggers a reload.  This PR changes the function to only write when changes are detected.

*This is the simplest fix I could make and is not tested.  I'll tidy up if you are OK with this in principle.*