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
use F_CLOEXEC if we can
Don't report random files in json dirs (like roles/environments)
Don't list local cookbook files that wouldn't be uploaded
Merge branch 'CHEF-4272'
CHEF-4259: Fix unpacking recipes with non-gnu tar

This probably isn't enough to handle every ancient version of tar, but
at least it fixes unpacking on SmartOS which is based on fairly recent
illumos. Also related to CHEF-1201.
Removing Dir monkey patch.
Merge branch 'CHEF-4208'
Fix user group modification for smartos
Merge branch 'CHEF-4199'
[OC-6938] Remove summary mode from the client

remove summary-only rspec tests
[OC-6569] Rework generation of run_id to be in client

* Generate run_id on client and send to server on run begin
* Use SecureRandom for ID generation.  This will not work on Ruby < 1.8.7.
  On those platforms we disable reporting
* Use generated run_id in specs, checking it's passed through correctly
[OC-7356] Protocol Version for Reporting

- Add protocol version header
- Handle reporting protocl version mismatch error
- Clarify message when client protocol version is wrong for reporting
- Modify tests to have extra header passed into mocks
[OC-6939] Use start_time/end_time from chef-client

Set start_time/end_time in reporting start/end messages
only post exceptions if we've got the node setup
[OC-7370] Rename node_run begin action to start
The protocol for calling ResourceReporter has changed - now
run_started() must be called as well in order to set up the
state
Refactor of the protocol for initializing ResourceReporter

We now extract the node info from run_started, not node_load_completed
so we now don't need to have a callback on node_load_completed
Add start_time to end of run reporting message