Improved verboseness of error messages; added handling of http:// protocol

Previously, if a repository couldn't be determined, the user wouldn't
know why that happened. Exceptions now carry more information, which is
presented to the user as well.

Even though uncommon, there might be older repositories out there which
still use http:// , which is now a supported protocol.