Allow storeconfigs collector to accept parser resources
Previously, the collector would call the storeconfigs backend and assume it was
going to receive an object which responded to a #to_resource method to convert
it into Puppet::Parser::Resource. This required any storeconfigs backend to
provide an intermediate class simply to call #to_resource on, even if it wasn't
necessary. Now, the collector will only call that method if it receives
something that isn't already a Puppet::Parser::Resource. This allows
storeconfigs backends to opt to simply construct the resources themselves,
rather than define an intermediate class.
Additionally, because Puppet::Parser::Resource instances require a scope when
initializing, the collector will now provide the scope to the storeconfigs
backend as an option to search. This provides the backend with the information
necessary to actually create the Puppet::Parser::Resource objects.