Allow ChefFS to copy cookbooks from one server to another

This allows ChefFS to copy cookbooks from one server to another.  Currently ChefFS only supports cookbook operations when either the source or destination is a filesystem.

The upload_checksum() function is taken from cookbook_uploader.rb

This is still a WIP but wanted to get some feed back on it sooner rather than later.
The streaming is a bit of a misnomer as there is an intermediary file used and that file is read in at once on upload.  It should be easy to stream from the file on upload as well.  Ideally we could stream directly from one http connection to another.  This looks possible in the underlying Net::HTTP but might take a little work to do with the chef interfaces to those library.