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
attempt redeploy of failed deployment

`deploy_revision` provider now stores releases in the release history
cache only after a successful deploy. As a result, a partially deployed
application will be overwritten by a subsequent deploy to the same
revision (similar to force_deploy).

Fixes CHEF-2741
remove trailing whitespace and fix indentation
Set log level to reduce test noise
set git user configuration to avoid prompting

Depending on environment, git may prompt you to configure username and
email when committing an annotated tag. Set local configuration in the
repo to work around this.
Fix rubygems > 2.0 heuristic test

Fixes CHEF-4275

In some cases, upgrading to rubygems 2.0 from 1.8 can leave both
installations available in the load path. The 2.0 install is ahead of
the 1.8 install, but it is possible to load a file from the 1.8 install
if that file does not exist in rubygems 2.0. In particular,
rubygems/format does not exist in 2.0, so `require "rubygems/format"`
loads from rubygems 1.8.

When Chef "accidentally" loads the old rubygems/format, it defeats the
version detection heuristic (check if Gem::Format) is defined, which
eventually causes an error calling Gem::Package.open. Adding a check to
see if Gem::Package defines open resolves this problem.
Merge branch 'CHEF-2741'
Merge branch 'CHEF-4275'
start testing with travis
Don't call fork when chef is running on windows.
Add missing license to integration test files.
Regression test for OC-8297.
Better error logging in solo integration test.
use F_CLOEXEC if we can
Merge pull request #827 from opscode/ss/OC-8297

Don't call fork when chef is running on windows.
Fix windows tests in CI due to fork change.
don't depend on line separator in partial tests

In some windows testing environments no line separator conversion is
happening. This may be a function of git settings, or something else in
our test cluster environment. In any case, line separators are
irrelevant to these tests, as they are testing the partial template
feature. We could remove the line endings from the test fixture files,
but editors like vim add hidden newlines at the end of files, so this is
difficult to maintain. Stripping the line endings within the test code
is more sustainable option.
Don't report random files in json dirs (like roles/environments)