Added state reporting to service provider.
Removed formatting from error reporting.
fix diff output, add tweakables, refactor diff code
add back in diffing against a new file, correctly, while suppressing resource reporting of new diffs

Conflicts:

	chef/lib/chef/provider/file.rb
Finished updating resource state_attrs.
Removed temp file I accidently added.
Updated unit tests for resources to match current state_attrs values.
Cleaned up resource_reporter_spec and fixed a nil case in resource_reporter.
Removed a pp that sneaked through debugging.
Fixed the resource_reporter file spec to reflect changes to code, and fixed small bug in resource_reporter.report(node).
Fixed a typo in base.rb.
Updates for posting compressed reporting data
Change disable_reporting config parameter to enable_reporting.
Fix description and option type for reporting flag.
disable reporting in why-run
CHEF-3449: Check for the files existence in converge_by

When we look for a file to exist before the converge_by block, we end up
checking for the file before the other converge actions have been run. Since an
earlier converge action creates these files we need to do so in order.
CHEF-3439: Update tests for moved File.exists?

Since we now check File.exist? in the recipe_eval block, we need to stub out
Dir.chdir
CHEF-3449: Add a test for calling callbacks in sequence

We need to call converge_by for each callback in sequence so when we walk
the converge actions the callbacks are still run in the correct sequence.
CHEF-3405: Allow calling provider_for_resource without an action
CHEF-3454: Trigger notifications for http_request :head only when modified