Delay evaluation of guard_interpreter

We currently evaluate guard_interpreter on the parent resource immediately when evaluating a conditional during compilation. This is an issue if you happen to put your guard_interpreter after your conditional in your recipe. But, we don't actual execute the conditional until later during compilation Chef::Resource #run_action -> #should_skip? -> Chef::Resource::Conditional#continue?. This moves the evaluation of the guard_interpreter attribute to #continue?.

Fixes #1943
right. it is easier to see looking at the file rather than the diff.

We test a specific guard_interpreter (:powershell_script) a few blocks down in the "with powershell_script as the guard_interpreter" context. I wanted a base block where we don't actually set guard_interpreter to anything so we could test what we get when we don't specify anything on the resource, and then build on that with specific values.