(PUP-3244) Remove redundant methods and refactor.

Before this commit the Puppet::Environments::Cached#get! was not needed
as it was defined in a parent class. Puppet::Environments::Combined#get!
now calls get! in environment objects instead of assuming how get!
should work.

This commit also refactors areas in the code where
Puppet::Environments::EnvironmentNotFound was raised after calling get
in favor of the new get! method.
(PUP-3244) Remove unnecessary Cached.get!

This removes a function that was provided by the super class.
Merge pull request #3182 from demophoon/fix/stable/pup-3244

(PUP-3244) ENC ignores missing directory environments