Fix sub_test env var setting

If a .execenv or EXECENV file existed, subtest would copy the environment and
add whatever things were in the execenv  to it and then pass that new
environment to the test. However if sub_test set an env var after that new env
was created, that env var was not passed to the test.

This just updates how subtest adds .execenvs or EXECENV entries to the
environment. Not it just adds those to a temp list and adds that temp list to
the real environment as it's passing it to the test
Merge pull request #969 from ronawho/fix-subtest-env-var-setting

Fix sub_test env var setting

[reviewed by @thomasvandoren]

If a .execenv or EXECENV file existed, subtest would copy the environment and
add whatever things were in the execenv to it and then pass that new
environment to the test. However if sub_test set an env var after that new env
was created, that env var was not passed to the test.

This just updates how subtest adds .execenvs or EXECENV entries to the
environment. Not it just adds those to a temp list and adds that temp list to
the real environment as it's passing it to the test