(FOR REVIEW) (PUP-3521) Fix Puppet's exception swallowing

# FOR REVIEW

This PR attempts to fix Puppet's exception swallowing. It does this by changing places where Puppet rescues and swallows an exception to have a more granular `rescue` clause. 

This PR is going to need some review to ensure these changes are sane.
Here's a list of all features from forge modules (as of 9-30-2014). https://gist.github.com/joshcooper/06892d3a05660f436c7c I think it would be fine to rescue StandardError, ScriptError and call it a day.