Maybe I'm trying too hard, but is looking for : in the repo bytes too wide to detect an URL? I know actual URL parsing is out of the question right now, but maybe we can do a little bit more since : is allowed in filenames on many platforms. What do you think?
Please add a small description to your changeset that explains the new config value and why we would want rhg to host a fallback system itself when it already has a specific error code for this.
Your changeset description uses abort twice, FYI, otherwise this looks good.