chef-4933

This is an updated version of https://github.com/opscode/chef/pull/1204.

Can I get a looksee from @opscode/client-engineers on the updated specs?
These look wrong. `config_file_ifcfg` is set to a StringIO, which is a nice way of stubbing a file, but then we're setting method stubs for methods that we're probably expecting to be called on the provider. Since this is a test for the provider, we should be stubbing methods on the provider itself only as an absolute last resort, so I don't think we should just change the stubs to be on the provider.