Handle empty slices in CreateBlobFromBuffer()

Go won't let us access the zeroth alement of an empty slice, so we need
to figure out if the length is zero and take special action.

This fixes #106.
Update vendored libgit2 version to v0.21.1