(PUP-1118) Use directory environments as environments

This changes all of the uses of Puppet::Node::Environment.new to go through the
new environment loaders, which allows the directory environments to be used as
actual environments for all aspects of puppet's operation.