WIP Firewallchain cache fw rules

This is a modified implementation of #333

Profiling information for a node with 5000 rules on the `filter` table at https://gist.github.com/hunner/9379414

WIP notes: I dislike that I have to copy the whole `Puppet::Type.instances` method to just add an argument. Is there any better way?