Correctly use soft-links when a package hasn't been downloaded yet

@ilanschnell does this look good to you? Previously, it would try to hard-link any package which wasn't downloaded yet, which would succeed without any errors (which is another issue), but only create the directories.