For 27137 - Set additional fields to ignore when comparing file versions

This adds a configuration setting that can be used to specify additional fields to ignore in file paths when comparing them to find differing versions of the same file.  

For example, if the file name contains the user initials but all users should see these files as a continuous sequence of versions then this setting can be used to achieve this.
This is probably one we should discuss in dailies...  I'd prefer to see a lot more use of __ (private) for members and methods that are only intended to be used within the class and not be accessible either outside the class or in derived classes.  I think we should generally be taking more care when defining the interfaces we expect both our code and client code to use in a way that makes it harder to abuse/do unexpected things.

It's also a lot easier to make something that was private into either protected or public than it is the other way around.