git-gui: Cleanup diff construction code to prepare for more options.