Remote: Set an error when a remote cannot be found.

Inside `git_remote_load`, the calls to `get_optional_config` use
`giterr_clear` to unset any errors that are set due to missing config
keys. If neither a fetch nor a push url config was found for a remote,
we should set an error again.
Clean up the handling of large binary diffs
minor cleanups
Merge pull request #2391 from libgit2/rb/clean-up-diff-binary-print

Minor fixes to binary diff code
remote: build up the list of refs to remove

When removing the remote-tracking branches, build up the list and remove
in two steps, working around an issue with the iterator. Removing while
we're iterating over the refs can cause us to miss references.
Merge pull request #2392 from libgit2/cmn/remote-delete

remote: build up the list of refs to remove
refs: failing test for concurrent ref access

If we remove a reference while we're iterating through the packed refs,
the position in the iterator will be off.
refs: copy the packed refs on iteration

This lets us work without worrying about what's happening but work on a
snapshot.
Formatting fixes for the docs

These are some issues I found while playing around with the new parser
for docurium.
index: split GIT_IDXENTRY into two flag enums

The documentation has shown this as a single enum for a long time. These
should in fact be two enums. One with the bits for the flags and another
with the bits for the extended flags.
Plug a leak in the tests
Merge pull request #2396 from libgit2/cmn/docstuff

Documentation formatting fixes
Merge pull request #2389 from arthurschreiber/arthur/set-error-when-no-remote-found

Remote: Set an error when a remote cannot be found.
clone: re-use the local transport's path resolution

Whe already worked out the kinks with the function used in the local
transport. Expose it and make use of it in the local clone method
instead of trying to work it out again.
Merge pull request #2395 from libgit2/cmn/ref-iter-concurrent

Concurrent ref iterator access
Merge pull request #2399 from libgit2/cmn/path-to-path

clone: re-use the local transport's path resolution
remote: failing test for rename

When there is a reference in the target namespace, we should overwrite
it. Instead it gets a different name under the current code.
remote: tighten up reference renaming

Tighten up which references we consider for renaming so we don't try to
rename unrelated ones and end up with unexplained references.

If there is a reference on the target namespace, git overwrites it, so
let's do the same.
Update AUTHORS

Add me. :)
Merge pull request #2405 from arthurschreiber/patch-4

Update AUTHORS