CHEF-4443 - Always save the correct run list

As per Dan's suggestions, use a primary run_list and an override, and
take care to ensure that the correct one is used to save the node.
CHEF-4643 Add cookbook versions to chef-client INFO and DEBUG logs
Handle sections without text parameters

 * Allows interop with gems that throw custom exceptions without string messages.
ruby-shadow supports darwin+freebsd now

- comment in https://tickets.opscode.com/browse/CHEF-4402
CHEF-4777: add include_recipes to recipes node attr
If a resource is sensitive, it’s redacted from logs.
Refactor
fixes CHEF-4639
CHEF-4762: http_request with action :head does not behave correctly in 11.8.0 fixed
fixed 1.8.7 incompatability issue; removed `pry` import
obvious fix
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
Lock `sdoc` down to `~> 0.3.0`

TL;DR - `sdoc ~> 0.4.0` depends on `rdoc ~> 4.0` and this version of 
`rdoc` breaks our Omnibus builds on Solaris!

The full explanation is going to sound long-winded...just bear with me. 
`rdoc` 0.4.0+ ships with fixture data from MarkdownTest, a Markdown 
validation test suite. Unfortunately this fixture data also has spaces 
in all of the file names. `pkgmk`, the utility we use to generate Chef 
Omnibus packages for Solaris, has a known issues processing file names 
with spaces:

http://compgroups.net/comp.unix.solaris/pkgmk-fails-when-filenames-have-space-chara/295864

Yes, this fix is a metaphor for the age old battle of hipster vs 
greybeard.
Merge pull request #1211 from opscode/schisamo/lock-down-sdoc

Lock `sdoc` down to `~> 0.3.0`
CHEF-3012: Use SID instead of username for group membership checks
Also use sid in excluded_members check, fixes group_spec regression
SID awareness in group base class to fix regression where resource always updates