Handle sections without text parameters

 * Allows interop with gems that throw custom exceptions without string messages.
fix mistype in converge for deploy#copy_cached_repo
CHEF-4927 - coerce group GID to string

To remain consistent with the way the user provider works, coerce both
new_resource and current_resource GIDs to strings for comparison. This
allows users to write their resources like:

group "zone" do
  gid 233
end

or

group "zone" do
  gid "233"
end

Without this change, every time Chef runs when a string GID is
specified, it will modify the group, which is not desirable.
[CHEF-4799] Handle non-dupable elements when duping attribute arrays
[CHEF-4946] Don't try to install ruby-shadow on cygwin
Make the bootstrap messages more user friendly.
Merge pull request #1295 from opscode/CHEF-5102

Make the initial  bootstrap message more user friendly.
Merge branch 'handle-missing-error-messge' of github.com:bossmc/chef into bossmc-handle-missing-error-messge
Info for PR 1121.
Merge branch 'master' of github.com:valodzka/chef into CHEF-4929
Info for CHEF-4929.
Merge branch 'jtimberman/CHEF-4927' into contributions-cc-51
Info for CHEF-4927.
Merge branch 'CHEF-4799' of github.com:criteo/chef into contributions-cc-51
Info for CHEF-4799.
Merge branch 'CHEF-4946' of github.com:criteo/chef into contributions-cc-51

Conflicts:
	Gemfile
Info for CHEF-4946.
Merge pull request #1299 from opscode/contributions-cc-51

CC-51: Merging Chef Contributions.
Upgrade Chef Zero & remove Puma

This commit upgrades Chef Zero to version 2.0.0, which removed Puma entirely.
Chef no longer requires Puma at runtime, so it can be moved into the
development gem group. Chef Zero 2.0 runs entirely in WEBrick and also uses
less memory and a more direct threading approach.
Changelog for chef-zero upgrade