handle small files in similarity metrics

`git_hashsig` will return `GIT_EBUFS` when it encounters a file that is too small to create a hash signature for.  `git_diff` should not error when that is encountered, instead it should not consider the file for renames.

@arrbee - the docs in `diff.h` for metrics are vague.  My assumption is that it is preferred that the pluggable metric would return `0` here but not populate the `out` param.  Certainly they could be codified to send `GIT_EBUFS` also and the diff layer could interpret that.