Get parent diffs working with Mercurial.

Review Request #841 — Created April 28, 2009 and submitted — Latest diff uploaded

Review Board SVN (deprecated)
The existing parent diff code apparently assumes that each version of a file has an ID independent of the ID for the whole revision. This doesn't work for Mercurial because Mercurial only has revision IDs, not file version IDs.
This fix alters the behaviour of parent diffs with Mercurial to use the source ID of the parent diff for all files, not just files that are in the parent diff. I've added a method to SCMTool to ensure that the behaviour with git (or any other tool) is not affected.
Tested various diffs between revisions that are not in the master repository, including ones with changed files, added files and removed files.