response.body may be nil

we can get back things like http 204 with no response body and calling
chomp on that throws a bad stack track.  this sends nil back with
the response and the caller can determine how to handle the 204.
Update to chef-zero 3
Look up username instead of resource name

The username isn't always the same as the resource name, and we incorrectly
use the latter when determining if the user exists in #load_current_resource.

Fixes #1705.
Make exception for a user not existing more explicit
unpack the conditionals a little for readability
Changelog update for #1705
Use path_join to create local-mode-cache
Always give config_dir a value
CHANGELOG.md for 1854
Merge pull request #1854 from opscode/lcg/config_dir

Use path_join to create local-mode-cache
CHEF-4101: DeepMerge - support overwriting hash values with nil
add CHANGELOG.md for PR#719
Merge pull request #1851 from opscode/lcg/chef-4101

CHEF-4101: DeepMerge - support overwriting hash values with nil
add retries in additional cases
Revert "add retries in additional cases"

Pushed straight to master again, I need to stop coding...

This reverts commit fb58236637095e22f25ed17143e435f4a58d7d6c.
Warn on using 'everything' for knife download on a hosted setup PR #1913
Merge branch 'jm/warn_on_everything' PR #1913
Remove the bootstrap templates that does chef install via gems.
Deprecate --distro and --template-file options in favor of --template.
Remove encrypted_data_bag_secret distribution via Chef::Config and enable distributing it via knife[:secret] and knife[:secret_file].
Fixes based on the PR comments.