Makes shadow_puppet exit with a proper error code.

This fixes a long standing issue where shadow_puppet doesn't exit with
an error code if one of the resouces fails to apply. This will allow
deploys to rollback when there is a failure in a moonshine recipe.