hashed-mirrors: Use parsed derivation output rather than reconstructing it
hashed-mirrors: Use parsed derivation output rather than reconstructing it

Now the derivation outputs are parsed up front, we can avoid a reparse
by doing it. Also, this just feels a bit better as the `output*` env
vars are more of a `libnixexpr` interface than `libnixstore` interface:
ultimately, it's the derivation outputs that decide whether the
derivation is fixed-output.

Yes, hashed mirrors might go away with #3689, but this bit of code would
be moved rather than deleted, so it's worth doing a cleanup anyways I
think.

NixOS/nix,NixOS/nix,rycee/nix,NixOS/nix,NixOS/nix,NixOS/nix,rycee/nix,rycee/nix,rycee/nix,rycee/nix