CHEF-4423: extract cookbook upload threaded queue into utility class
CHEF-4423: extract CookbookVersion manifest update into public method

Certain segments of a CookbookVersion's manifest (recipe, attributes)
have custom setter methods. Extract the logic to handle these special
cases into a public method to reduce duplication.
CHEF-4423: implement threaded cookbook synchronization

This commit parallelizes cookbook synchronization (downloads) with the
threaded worker queue model used during cookbook upload.
make mixin/create_path threadsafe
Catch format error for 504 Gateway Time-out.
Add config option for parallel cookbook sync.
Update for parallel cookbook synchronization.
Comment threadsafe change.
Refactor rescue behavior.
Decrease number of default threads
Merge pull request #1434 from opscode/CHEF-4423

Cookbook synchronization speedup (CHEF-4423)
add whitelist config options for attributes saved by the node
update stubs for new node.save behavior
Update for whitelist use.
Change attribute whitelist filter syntax to match Ohai
Update exceptions.rb

Remove WhitelistAttributeNotFound error
Update exceptions.rb
Merge pull request #1431 from opscode/CHEF-3811

add whitelist config options for attributes saved by the node
Re-implement ruby-wmi functionality
Use invoke instead of send, fix first_of, remove ruby-wmi-rdp from gemspec