deploy: Add tarball over HTTP deploy support

Fix SLN-1108
I changed the PackReceiver to be a class and moved the cicada ref to a member param instead of a global. handle (and some of the subsequent methods) need to know which PackReceiver to use as this. That is why I had to bind it. This is also based on part on how cicada itself does it.