Bring back the update_tips callback.
`rb_git_remote_ls` also has to call `git_remote_set_callbacks`.

This is to ensure that previously set callbacks get cleared correctly.
Only load the ivar content once.
Add the `transfer_progress` callback.
OCD.
Move and refactor the credential extraction code.
Credentials now respond to `#call` and just return themselves.
Add support for the credentials callback to Rugged::Remote methods.
Make argument checks more strict.
Refactor the `Repository#clone_at` code to reuse the Rugged::Remote implementation.
OCD.
Add SSH Agent Support.