This patch is a big refactoring of llvm-diff. It doesn't add new features, but it...