feat: Accept multiple OS package URLs
In pursuit of accepting multiple OS package URLs, this commit also unifies the distinction between "absolute" and "template" URL. The user and password options are ignored if URL does not contain user:password.
Closes #53 (closed)