Consider repository empty even if head does not point to branch master

The result of this change is that a repository can be considered empty even if HEAD does not point to `refs/heads/master`. The current behavior is asserted in existing tests, so maybe I am missing a reason for why `git_repository_is_empty` is checking the current HEAD reference.

The underlying issue this change is addressing is that if you attempt to make the first commit on any branch other than `master` in LibGit2Sharp, it will fail because the `git_repository_is_empty` check returns false.

If there is another side effect that I am missing here where `git_repository_is_empty` should really depend on the current HEAD reference, please let me know. I can open a LibGit2Sharp issue if there is another fix that should be made here instead (and can add a test covering this issue in LibGit2Sharp anyways).