config: remove the refresh function and backend field

We have been refreshing on read and write for a while now, so
git_config_refresh() is at best a no-op, and might just end up wasting
cycles.
hash: use CommonCrypto on OSX for SHA-1

OSX has its own cryptographic library, let's make use of it instead of
calling out to OpenSSL.
remote: accept a repo and name for renaming

Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).

Instead, let's simply take a name and not change any loaded remote from
under the user.
clar: use a custom temp directory name
Fixed memory leak in git_tag_delete()
Merge pull request #2645 from libgit2/cmn/common-crypto

[RFC] Use CommonCrypto for hashing
Merge pull request #2647 from ethomson/clar_tmpname

clar: use a custom temp directory name
Merge pull request #2649 from swisspol/2630

Fixed memory leak in git_tag_delete()
Merge pull request #2646 from libgit2/cmn/remote-rename

remote: accept a repo and name for renaming
Merge pull request #2638 from libgit2/cmn/config-refresh-remove

config: remove the refresh function and backend field