Remote-tracking branch prunning

Hot on the heels of #2700 this cleans it up and makes sure to compare each reference against each refspec. The prune option setter is removed, as we are not saving it. You can use `git_remote_prune()` to do it once.

Since this is purely adding an API, it can get merged pre- or post-0.22.
Is here a special handling or a check for anonymous remotes necessary?