(PUP-3268) Remove legacy environment support
Removes the deprecated legacy environment construction and cacheing code
from Puppet::Node::Environment. Continues to use create() for instance
creation; new delegates to create() and is marked private now.
References to clear the legacy environment cache are removed from
Settings and TestHelper. Environment names are explicitly interned on
creation. This was being done already in the environment loaders, so
this change just makes the behavior consistent for manual use of
Puppet::Node::Environment.create(). The node/environment_spec was
overhauled as well to remove mocking and update for current rspec
practices.