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
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
Update to allow boolean and numeric attributes
fix for checking choice array correctly.
update tests and add new tests for limiting attribute types
OC-11191: Workaround for apparent memory leak in CHEF-5004
Merge pull request #1251 from opscode/adamed/oc-11191-spec-workaround

OC-11191: Workaround for apparent memory leak in CHEF-5004
Use RubyVM to syntax check in-process where possible
Merge branch 'inline-syntax-check'

* fixes https://tickets.opscode.com/browse/CHEF-4986
* Improves syntax check speed for Ruby 1.9+, especially when using bundler.
CHEF-5001: tests for multiple rollbacks
Localize rescues in Recipe method_missing DSL
Merge branch 'nomethod-gobbling'

Fixes https://tickets.opscode.com/browse/CHEF-5011
- Adding X-Remote-Request-Id to the set of headers for every request from CCR and
knife that will be sent to erchef
- Each knife request has a different X-Remote-Request-Id, where as it
remains the same for all requests originating from the same chef-client
run.
- Adding and fixing tests