Repository.CreateCommit: Allow empty refname for non-update commit

[The documentation](https://libgit2.github.com/libgit2/#HEAD/group/commit/git_commit_create) implies that `refname` _can_ be NULL if you don't want to automatically udpate a ref. This is useful if you want to create a new root commit (without any parents, think a `gh-pages` branch). 

This commit enables users to use the empty string for `refname` to signal a non-updating commit.
maybe this should happen before creating that `cref` three lines above. Something like:

```go
var cref C.CString
if refname != "" {
  cref = C.CString(refname)
}
```