[CORE] Bypass chef_object inflation and normalize raw requests instead

  - Factored out api_request() from knife_essentials to a class method
    available everywhere
  - Added #raw_request to handle GET requests without chef object inflation
  - Added RestListEntry#chef_hash to pull a raw_request()
  - RestListEntry#read will now normalize from #chef_hash
  - Added RestListDir#chef_collection to make it easier to customize and test
  - Updated unit tests to mock #chef_hash and #chef_collection instead of using a
    @rest mock, where appropriate