Add url type option and improve robustness

This contains two commits. The first adds a custom option to decide which url type to use ("git://", "https://", or ssh) instead of just using the ssh url. The second makes it give a better error message if the `git clone` command fails.
The user can always setq it to add use a different slot if necessary. If we just limit the options in the UI to ssh-url, clone-url, and git-url that should be sufficient validation. Until [[https://github.com/sigma/gh.el][gh.el]] AND github adds slots this is pretty moot, so would rather leave out the keyword validation. I guess I'm more apt to use setq which would ignore the validation anyway, so mostly view the defcustom options as hints on what is acceptable.

I think if you just strip that I am happy to merge.