(PUP-3268) Remove Puppet::Util::Cacher
This module was providing a single class helper method cached_attr()
which provided a memoized instance attribute with a ttl set in a class
instance variable. This was being used only by Puppet::Node::Environment
to memoize a given environmenet's module list with a ttl set to the
Puppet[:filetimeout]. Now that legacy environments have been removed, we
are no longer watching files, and the modules should be memoized for the
duration of the Environment's existence, so I'm removeing cached_attr
and replacing it with a normal reader method that memoizes in an
instance variable. The Cacher module is being removed because it is not
used anywhere else.