make SCM URL validity check more verbose
When a builder parses an SCM URL, the daemon module's _parse_url() does
a sanity check that it has properly understood all the necessary
elements of the URL string before returning them. When this check fails,
a "Invalid URL" message is raised, but this error message does not
provide information about what portion of the URL was missing.
Break this sanity check into multiple statements, so that we present a
more detailed error message to the user.