Fixes #8210 - Adding caching for smart-proxy puppet classes using Stefan Julin's implementation of cache

@orrabin yep.  I'd suggest adding cache/.gitkeep to git so the directory already exists for people, and perhaps make caching enabled by default?  (In the puppet_plugin.rb, and set this .example file up to match it.)