(PUP-3334) Fix issue around settings not updating with environment.conf

Prior to this commit, environment settings were not being updated
when environment.conf was changed, even if environment timeout had
expired. This was because they were being cached in places in
Puppet.settings that were not being cleared.

Now, all the cached data for a particular environment is cleared
when the environment timeout expires.
rather than switch to full_modulepath, which changes what other specs are testing, let's add a with_full_modulepath, that way we can test either condition.