so that fetchurl outputs a real path instead of a source, and our
hashes match correctly between flake and non-flake.
also it looks like fetchTarball can support local files
Add supports for new type = "file" locks added in
5b8c1deb18.
Unfortunately, the hash provided by the lock file is a recursive hash,
while fetchurl wants a flat hash. So we have to use a custom fetchurl
function using the builtin:fetchurl builder. Hopefully okay just to
add compat for this very useful lock type.