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