Refs: Fix some issue when core.precomposeunicode = true.

This fixes two issues I found when core.precomposeunicode is enabled:

* When creating a reference with a NFD string, the returned
  git_reference would return this NFD string as the reference’s
  name. But when looking up the reference later, the name would
  then be returned as NFC string.
* Renaming a reference would not honor the core.precomposeunicode and
  apply no normalization to the new reference name.
Refs: Introduce `git_refname_t`.
Refs: Add a unicode test for git_branch_move.

This tests that decomposed branch names are correctly precomposed when
passed to `git_branch_move` and `core.precomposeunicode` is enabled.
Refs: Extend unicode test for branch creation.

This adds another assertion to ensure that the reference name inside
the git_reference struct returned by `git_branch_create` is returned as
precomposed if `core.precomposeunicode` is enabled.
Merge pull request #2358 from arthurschreiber/arthur/normalize-ref-names-on-creation

Respect core.precomposeunicode = true in more cases.