[master/12] Fix whyrun_safe_ruby_block regression

`whyrun_safe_ruby_block` broke in the 11 changes.

Forward port of #2021
fix CHEF-4933
rewrite in the style of remote_directory
fix bug
refactering
rewrite tests with file provider stub/mock
move (generate|delete)_config out of the process of running-config
Update stubs
add CHANGELOG for pr/1785
Fixed Issue 1882 by printing usage when chef-apply is run with no arguments
inverted if and removed else
add changelog for pr/1898
Merge pull request #2032 from opscode/lcg/1785

Rebase and ChangeLOG for pr/1785
Merge pull request #2033 from opscode/lcg/1898

Rebase and ChangeLOG of pr/1898
Merge pull request #2022 from jaymzh/12-whyrun

[master/12] Fix whyrun_safe_ruby_block regression
Fix https://github.com/opscode/chef/issues/1842 by calling PathHelper.canonical_path, so that (among other things) we don't add the prepender to relative paths.
Test for github issue 1842: handle relative paths correctly on Windows.
Don't change the working directory to something that probably gets deleted: Windows doesn't care, but the Unixen get very unhappy.
Stop using homegrown canonicalize() and use Chef::Util::PathHelper.paths_eql?.
Remove unnecessary variable.