[CHEF-4011] use `platform_specific_path` helper in specs

This will fix the following test failures when specs are run on Windows:

1) Chef::Config Chef::Config[:encrypted_data_bag_secret] /etc/chef/encrypted_data_bag_secret exists sets the value to /etc/chef/encrypted_data_bag_secret
     Failure/Error: require 'chef/config'
       <File (class)> received :exist? with unexpected arguments
         expected: ("/etc/chef/encrypted_data_bag_secret")
              got: ("C:\\chef\\encrypted_data_bag_secret")
        Please stub a default value first if message might be received with other args as well. 
     # C:/jenkins/workspace/chef-ruby1.9.2-windows/lib/chef/config.rb:280:in `<class:Config>'
     # C:/jenkins/workspace/chef-ruby1.9.2-windows/lib/chef/config.rb:25:in `<class:Chef>'
     # C:/jenkins/workspace/chef-ruby1.9.2-windows/lib/chef/config.rb:24:in `<top (required)>'
     # C:/jenkins/workspace/chef-ruby1.9.2-windows/spec/unit/config_spec.rb:273:in `require'
     # C:/jenkins/workspace/chef-ruby1.9.2-windows/spec/unit/config_spec.rb:273:in `block (3 levels) in <top (required)>'
Merge pull request #720 from opscode/fix-config-spec-win-failures

[CHEF-4011] use `platform_specific_path` helper in specs
[CHEF-3516] Some knife commands emit Errno::EPIPE when used in a pipeline
[CHEF-3516] raise Errno::EPIPE exceptions with -VV
[CHEF-3516] force knife to exit when an Errno::EPIPE exception is received
better CHANGELOG markdown format
Merge branch 'CHEF-3348'
[CHEF-2467] Ensure Shef loads run_context using correct run_list and environment.

Currently, Shef in client-mode will not properly process attributes
set in roles or environments since we assume an empty runlist and the
_default environment when building the node.
[CHEF-2467] Add tests and fix grammar.
[CHF-4107] Knife should prefer gnutar when packaging.