Improve error handling and error messaging

We don't need the protocol for anything internal, but it would look strange if you could for example enter:
"ssh://ftp.github.com/user/repo" and it still "works".

So for clarity I think it is better to keep the protocol part.