Somewhere during the external_repo refactor we've lost the logic that was using parent's cache dir to store cache. Currently, we are using tempdir (yes, in /tmp) to pull data too, which is really bad, as it might not have enough space available. Plus, we don't respect link type, trying to always copy stuff, which is also really bad. And on top of that we've lost our progress bar for when we are checking out the data after downloading during import/get.