[WIP] server-to-server cookbook transfer

This code allows a user to use ChefFS to transfer a cookbook from one
Chef server to another.  Files are streamed to a tempfile in transit,
but a full cookbook repo on disk is not required.

The upload_checksum functions is basically a copy-paste from
cookbook_uploader.rb

I would love to get some feedback on how we could improve this.
Some items that feel gross to me:

1) It would be nice to remove some of the duplication around
upload_checksum.  Would that be appropriate to pull out into a module
that could be used in both?  Or perhaps a model object for individual
cookbook files with a send_to(url) method?

2) Switching on the class of other rather than using some sort of
inheretence.

3) Using a temporary file rather than just streaming the downloading
directly into a streaming upload.