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
If you do pass command but it isn't a String, you'd fall out here into the else.