allow arbitrarily named push/pull remotes

Previously, the pull remote could not be safely named `origin`.