utils/run: with_env_recursive(cmd, envvars)
utils/run: with_env_recursive(cmd, envvars)

Allow the environment of a plumbum command to be updated recursively.
By default, plumbum allows users to change the environment of a
BoundCommand object by wrapping it with a BoundEnvCommand that takes
care of wrapping the encapsulated command in the given environment.

In our case, however, we want to be able to override the environment of
the BoundCommand because we need to overwrite PATH and LD_LIBRARY_PATH
for the command inside the uchroot environment.
The easiest solution (for us) is to provide a free 'with_env_recursive'
function that takes care of the update. For a more robust approach we
would need to abstract uchroot away by pushing it into a new
Machine-like data-structure (like 'local').

simbuerg/benchbuild,simbuerg/benchbuild