Respect core.precomposeunicode = true in more cases.

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.

These cases probably should be covered with some tests, and I'm actually kind of wary that they don't cause any test failures in libgit2 itself. There's a bunch of test cases in Rugged that are failing without these patches over at: