(RE-2157) Add basic tests for the set_cow_envs method

As the previous commit updated the behavior of the set_cow_envs utility
method, this commit adds some tests for the new and for the existing
behavior.
Update load_envars cleanup to use reset_env utility method
(maint) Update load_envvars test to correctly set env

Previously this test set the environment variable in the wrong scope.
When running rspec with order set to random (as travis does),
occasionally these tests would be run after the new set_cow_env tests,
which reset PE_VER to nil. Because the ENV setting for the load_envvars
test happened on test LOAD rather than test EXECUTION (because they were
outside of the it block, that test would occasionally fail depending on
load order. This commit moves the ENV setting into the it block to
ensure this does not happen.
(maint) Set project root before each test in 00_utils version tests

Previously project_root would only be set once, before all the version
tests ran. This breaks on random order rspec runs because the it blocks
can be run interleaved with other tests. This commit updates the before
all to be a before each to ensure that project_root is correctly set
before each of the version tests  if dist.nil? or arch.nil?
    fail "Couldn't get the arg and dist from cow name. Expecting something like 'base-dist-arch'"
  end
.