Do not error out when fetching from second remote

In `git_remote_update_tips()`, it prepares `FETCH_HEAD` file. If `HEAD` 's remote is not the same as the fetching remote, it raised an error.

This pull request fixes the issue.
This exposes some hairy details that were never meant to be accessible from outside the branch module. If you want a helper function, create one in branch that uses this instead of making it public.