explicitly include EnforceOwnershipAndPermissions where it's used
Merge branch 'explicit-enforce-ownership'
[CHEF-3689] refactor ApiClient test suite

remove redundant tests, use declarative and formal language
[CHEF-3689] refactor REST API client instantiation
[CHEF-3689] Extract registration to a class
[CHEF-3689] remove REST#register (see ApiClient::Registration)
[CHEF-3689] remove extra flags to Client#save
[CHEF-3689] use ApiClient::Registration to register
[CHEF-3689] Retry all 5xx when registering

Also, document that retries are layered, and explain purpose.
[CHEF-3689] check for non-writable directory before client registration
[CHEF-3689] no File::NOFOLLOW on windows
[CHEF-3689] binary mode lulz in test data
[CHEF-3689] skip unix-specific permissions test on windows
Merge branch 'CHEF-3689'
fix spec failure on ruby 1.8
Extract provider LWRP code to LWRPBase
Extract LWRP resource code to LWRPBase
fix doc typo
cleanup requires for lwrp base clases
Merge branch 'extract-lwrp-base'