Detect renames when doing git diff

This reduces a lot of bloat from things like `git staged` if there was a
rename in the set.