CHEF-3895: Add Chef::Checksum to JSON class hack
Merge branch 'master' into 11-stable
Merge branch 'master' into 11-stable

CHEF-1707
CHEF-2467
CHEF-2694
CHEF-3348
CHEF-3364
CHEF-3367
CHEF-3386
CHEF-3432
CHEF-3452
CHEF-3516
CHEF-3615
CHEF-3683
CHEF-3735
CHEF-3772
CHEF-3803
CHEF-3804
CHEF-3819
CHEF-3847
CHEF-3858
CHEF-3872
CHEF-3895
CHEF-3919
CHEF-3920
CHEF-3932
CHEF-3937
CHEF-3938
CHEF-3963
CHEF-3967
CHEF-3987
CHEF-4010
CHEF-4011
CHEF-4065
CHEF-4106
CHEF-4117
CHEF-4118
CHEF-4123
CHEF-4157
CHEF-4176
Print debug stacktraces from within a forked worker

Fixes CHEF-4357: http://tickets.opscode.com/browse/CHEF-4357

Rescue exceptions from within a forker worker and feed them to
`Chef::Application.debug_stacktrace()`, then exit non-zero. This fixes
an issue where Chef would spew ruby stacktraces with forking enabled
(stacktraces should only be printed to console with `-l debug`).
Additionally fixes an issue where a generic exception was passed to
`debug_stacktrace`, leaving a stacktrace.out file with no useful
information.

In addition to the above fixes, includes the following improvements:
* Update the forked worker's argv0 to clearly indicate it's the worker
  process, and include ppid and run start time.
* When reaping the worker process, include more useful information when
  the worker exited non-successfully, such as exit code or signal that
  killed the process. In particular, OOM kill (e.g., when running
  resource intensive code compile, etc. on small machine) should be a
  little more obvious.
Exit worker process on INT/TERM
Merge branch 'CHEF-4357'
Increase the default yum timeout to 5 minutes.
Bump up the yum timeout even more to 15 minutes.
Merge pull request #882 from opscode/default-yum-timeout

Increase the default yum timeout to 5 minutes.
Change error description sections elements to be hashes.

It is much easier for erlang to validate the json that chef-client sends up if exception_data.description.sections is of structure:

[{"str1" => "value1"}, ... ]

As opposed to current structure of:

[["str1", "value1"], ... ]

This change was achieved by updating error_description.rb. I also updated relevant test.
Add -E flag to chef-solor so that users can make use of environments with chef-solo.
Ignore corrupt cache control data; re-download file

Fixes CHEF-4365: http://tickets.opscode.com/browse/CHEF-4365

A corrupt cache control file will cause a persistent failure of the
related remote_file resource. Since this data is just a cache of HTTP
headers, Chef can ignore corrupted cache control data, re-download the
source file, and then re-populate the cache with not-corrupt data.
Merge branch 'CHEF-4365'
[CHEF-4350] knife cookbook site share broken
[CHEF-4350] knife cookbook test broken
Merge branch 'CHEF-4350'
OC-8641 - new_resource.cookbook_version is nil for some resources

Since the existing tests mocked out Resource#cookbook_version it missed
the case where if Resource#cookbook_name is nil then cookbook_version would
also be nil.

Added guard logic around setting the cookbook_name, cookbook_version
in resource_reporter.rb to protect against the case where cookbook_name
is nil.
update logic so that we don't return dummy values in resource reporter
Merge branch 'jc/reporting-no-cb-version'
Bump the version number to 11.6.0.rc.2.