tree-diff: rework diff_tree interface to be sha1 based