packer: Add UploadDir to the Communicator interface
packer/rpc: use public MockCommunicator, tests pass
packer/rpc: implement UploadDir
builder/amazon/chroot: implement UploadDir for chroot communicator
communicator/ssh: refactor scpSession that we'll reuse for UploadDir
communicator/ssh: refactor to upload directories properly
communicator/ssh: UploadDir works properly