remote: return problem refspecs instead of using a callback

There is no reason why we need to use a callback here. A string array
fits better with the usage, as this is not an event and we don't need
anything from the user.
remote: failing test for renaming with a symref
remote: handle symrefs when renaming

A symref inside the namespace gets renamed, we should make it point to
the target's new name.

This is for the origin/HEAD -> origin/master type of situations.
remote: don't free the remote on delete

This was a bad idea. Don't free except in the free function.