Introduce RemoteCollection.Rename.
Prevent memory leak on branch removal

Actually, git_branch_delete() no longer frees the reference handle for
the caller. We can now let the handle take care of this when it's
disposed.
Fix xml doc related warnings
Introduce ObjectDatabase.ShortenObjectId()

Fix #677
Teach OdbBackend to expose ExistsPrefix
Make OdbBackend Read[Prefix]() return UnmanagedMemoryStream
Introduce OdbBackend.AllocateAndBuildFrom()
Decorrelate IDisposable implementation from freeing of OdbBackend resources
Introduce Remote.IsSupportedUrl.
Fix xml doc related warnings
Introduce Repository.CherryPick.
Introduce PatchEntryChanges

Exposes same properties than TreeEntryChanges through composition
Cleanup DiffTreeToTreeFixture to use var and consts when appropriate
Use a callback for credentials

Instead of making the user choose beforehand, use a callback to let the
user ask a database or human about the credentials.

If desired, a hard-coded value can still be provided via a lambda, e.g.

    (_url, _user, _types) => new UsernamePasswordCredentials() { ... }
Update binaries to e93206e

https://github.com/libgit2/libgit2/compare/90befde...e93206e
Add Clone() test leveraging authentication
Fix xml doc related warnings
Test -> CanResolveConflictsByRemovingFromTheIndex

We're not clearing the conflicts, we're resolving them.  The
difference is that removing from the index means that the items
get moved to the REUC.  "Clearing" or "removing" (in libgit2
terminology, anyway) means that they are removed without being
resolved (or going into the REUC).
Introduce Index.Conflicts.ResolvedConflicts
Introduce Repository.Index.Conflicts.Names