diff-methods function

Changes between commits, trees, working tree, etc.