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.
add run_list setter
Merge remote-tracking branch 'origin/master' into save-right-run-list

Conflicts:
	lib/chef/client.rb
move run_list twiddling into the policy builder
Fix few typo
Merge pull request #1339 from nishigori/fix-few-typo

Fix few typo
Restore warning for cookbook shadowing
Tidy cookbook upload specs
Add regression test for cookbook overlay warning
Add changelog note about cookbook overlay warning
Merge branch 'restore-shadowing-warning'

Commit cf8af09a40e5fd9fff8d1c481fb98b017545f49b removed warnings related to the
cookbook overlay/shadowing feature, so they have been missing since Chef 11.0.
Add them back.
Merge pull request #948 from thommay/chef-4443

CHEF-4443 - Always save the correct run list
Contribution info for CHEF-4443.
CHEF-5041: fix middleware order

- the middleware for the *responses* are applied in reverse order, so
  that the ValidateContentLength middleware must come *AFTER* the
  Decompressor when we initialize them.
CHEF-5041: check for transfer-encoding header

- skip content-length check in the presence of a transfer-encoding
  header
- also adds debugging and some refactoring
CHEF-5100:  reset state for streamed downloads

quick fix to "free" our state from one streamed download request
so that we don't pollute the state of the next streamed request.
CHEF-5100:
  - Enable Content Validation Check for Chef::HTTP::Simple
  - Tidy up debug logs / comments
  - More specs.
Additional debug logs per PR comments.
Changelog info.
Merge pull request #1329 from opscode/lcg/CHEF-5041-content-length

Lcg/chef 5041 content length