CHEF-5018: fix File.new does not take a block
CHEF-5018: better spec tests
CHEF-5018:  specific test for CHEF-5018

This tests actually goes red with the bug and green when its fixed.

It actually worked fine when @contants was an IO object instead of an
Array because the #each method worked identially on both.  However,
there's a monkeypatch in the wilds that did @contents << "thing" and
that broke when it became an IO object accidentally.
CHEF-3838: fix unit test in debian_spec for FileEdit change

- also rearrangement to use let instead of instance vars
CHEF-3838: rspec modernization of debian spec
CHEF-3838: add spec helper per PR feedback