Allow progress callback to cancel fetch

This works by having the indexer watch the return
code of the callback, so will only take effect
on object boundaries.
Document callback-triggered cancellation
Enhance test coverage for transfer cancellation
Allow all non-zero returns to cancel transfers
Expect standard error code from internal calls
Clone: fetch all tags
Fix fetchhead tests to expect nearly-dangling
Fetchhead: don't expect a tag that isn't there
removed obsolete reference to api.html
Merge pull request #1319 from cscheid/development

removed obsolete reference to api.html
removed other references to api.html
Call p_readlink to determine symlink size
tests: fix code style in threads/basic.c
tests: fix indentation in repo/init.c
tests: fix indentation in repo/message.c
No bitfields in public headers b/c packing is compiler-specific
Merge pull request #1322 from phkelley/development

No bitfields in public headers b/c packing is compiler-specific
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
Fix call to readlink