Explain deleted Revisions

The DifferenceEngine in core could do with a huge refactor to
allow better reusability by inheriting classes.

This breaks out a lot of the functions into separate functions
If Max is happy with these changes, I will write a patch trying
to make them part of DifferenceEngine.php itself.

Bug: 62553
Change-Id: I3ecce8b06afe7846ff2c17b83517edce4234a2cd
Merge "Explain deleted Revisions"