Updates to fetch branch

- Added constant for the credential provider dictionary key instead of hardcoded string.
- Changed implementation of `- [GTRepository fetchRemote:withOptions:error:progress:]` to use libgit2 `git_remote_fetch` instead of reimplementing it here.