git_commit_author returns a signature which git_signature_dup can't copy

We're running into a situation where `git_commit_author` returns a non-NULL signature but `git_signature_dup` returns `NULL` for it because it has an empty name.

This is less than great. They should at least be consistent. But more importantly, this repository has a commit with an empty author name and libgit2 should be cool with that.