(PUP-716) short lived objects in filesystem

This replaces https://github.com/puppetlabs/puppet/pull/2222