Fixes needed for running tests against puppet's master branch

Specifically this commit

 - Adds specific checks for puppet 3 when loading storeconfig code
   storeconfig does not work against current master and will be removed
   as part of Puppet 4.0.0. We want to maintain backward compatibility,
   so the code supports both

 - Removes references to Puppet[:trusted_node_data] when on Puppet
   4 (essentially assuming it is always true on 4). Like above we will
   look for it when on Puppet 3.y.z and ignore it (assuming true) when
   on Puppet 4.y.z
This was what @hlindberg recommended, both in approach to version checking and usage of feature. I started with just a utility method that did the same thing, but moved to this. I agree that checking for the non-existence of a class is brittle, but from what I understood, this was our only option until puppet 4 is officially released.