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