[Crunch] crunch-dispatch's Bundler environment infects non-Docker jobs
crunch-dispatch runs inside Bundler. The changes to the environment are retained when crunch-job is invoked, and again when the actual Crunch script is run outside of Docker. (Docker cleans up the environment for jobs run inside it.) It's good for this to be maintained for crunch-job itself (so they both use the same CLI tools, etc.), but bad for the Crunch script.
For illustration, see the output of qr1hi-8i9sb-uddf0fqrj36ayui, which ran on qr1hi today. It prints its environment and tries to list active gems. It clearly shows that Bundler is active in the current environment. It also fails to list any Gems, because the matching Bundle environment does not exist on compute nodes.
Proposed fix (from Tom): In crunch-job, pull the "set of env vars that should be propagated" logic out of the docker case and use it to build a clean environment hash. Set up that same environment in both docker and non-docker cases.