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
Feature API is not planned to change - it is useful. I want to avoid sprawl - we do not want every special thing to be  unique both in concept and implementation, even if it is a one-liner simple thing...