Return the index of the matched pathspec in `git_pathspec_match_path`

Instead of returning directly the index as the return value, I used an out parameter, because the function also tests if the passed pathspecs vector is empty. If yes, it considers that the path "matches", but in that case there is no index per se.
diff: add notify callback to `git_diff__from_iterators`

The callback will be called for each file, after the `git_delta_t` has been created and filled.