[CHEF-3557] codify file metadata reporting behavior

Warning: tests not passing
Add functional tests that describe how file metadata should be reported.
[CHEF-3557] Factor out windows security resource attrs

Factor windows-specific file security code into modules so one can
manually create a "windows-flavored" file resource for unit testing.
There are better ways to do this (see comments), but this works for now.
[CHEF-3557] Update ScanAccessControl behavior

* Record all file security metadata, even if the user never specified it
  in the first place.
* Always store the mode as a string, otherwise everyone who uses the
  value has to know that an integer needs to be converted to octal for
  display
[CHEF-3557] remove load_current_resource_attrs

Functionality was a duplicate of ScanAccessControl with some slightly
different behavior. Correct behavior is now implemented in
ScanAccessControl.
[CHEF-3557] remove load_current_resource_attrs corpse
[CHEF-3557] Fix tests after rebase

CHEF-3715 removed checksum cache, which changes number of File.stat
calls
[CHEF-3557] fix file security reporting for files on Unix

* windows still needs work
* directories still need work
* needs tests for the case that *only* security metadata is updated
  (correct content)

Conflicts:
	spec/functional/resource/file_spec.rb
[CHEF-3557] fix reporting for directory-like resources
[CHEF-3557] skip file metadata reporting on win for now
[CHEF-3557] Fix ws/capitalization in test suite/comments
[CHEF-3557] force log_level to info to suppress diffs
[CHEF-3557] report file modes with leading 0 for clarity
Merge branch 'CHEF-3557-unix'