Return the matched pathspec pattern in `git_pathspec_match_path`

Instead of returning directly the pattern 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 matched pattern per se.
diff: add a notify callback to `git_diff__from_iterators`

The callback will be called for each file, just before the `git_delta_t` gets inserted into the diff list.

When the callback:
- returns < 0, the diff process will be aborted
- returns > 0, the delta will not be inserted into the diff list, but the diff process continues
- returns 0, the delta is inserted into the diff list, and the diff process continues
Merge pull request #1249 from yorah/topic/diff-notify-unmatched-pathspecs

diff: Add a callback to notify of diffed files