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

Somehow I missed of stubbing of ```scan_manifest``` in setup. You can have a stub/mock return different values on subsequent invocations: ```@scanner.stubs(:scan_manifest).returns([[Proxy::Puppet::PuppetClass.new('testinclude')])
         .then.returns([Proxy::Puppet::PuppetClass.new('testinclude::sub::foo')]])```. See http://gofreerange.com/mocha/docs/Mocha/Expectation.html#then-instance_method for another example. 
I'm not sure it's worth stubbing/mocking ```scan_manifest``` though -- we are touching the filesystem in this test anyway, and any test double makes tests fragile.