Could we invert the logic here and make `git_remote_is_valid_name()` contain the logic for validating a remote name (i.e. formatting and calling `git_refspec__parse`) without setting an error message and then have `ensure_remote_name_is_valid()` call `git_remote_is_valid_name()` and set an error if it is not valid? This works as is but feels slightly odd to me.