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
Merge pull request #1316 from ben/clone-cancel

Allow network operations to cancel