Add toolchain to env in more places
This fixes the issue where we couldn't build ocamlformat with toolchains.
In the process of debugging that issue I noticed that if a dune project doesn't depend on any opam packages (e.g. if it has no deps or all its deps are pinned) then the lockdir won't pin a compiler version and toolchains won't work which I think is undesirable as the initial state of a project is to have no deps. I've addressed this for now by assuming the latest known version of the toolchain in such cases, but we may want to revisit this decision.
I've also updated the way that pkg_rules determine the ocmal toolchain such that they never produce a toolchain backed by the regular compiler package, as we know this will never work (at least until the compiler is relocatable). Now it either returns a dune toolchain directory or tries to use the system compiler.