preserve the full vcs url when using `InstallRequirement.from_line`

a fix for #1952

also added 2 unit tests, and a functional test for non-editable vcs installs (that uses '@')

additionally, I looked for places where the code might have grown dependent on the old behaviour,  but didn't see anything.