Refactor ssh connection handling again.

This feels a little less complex and easier to use like the old
anonymous sub stuff I have in DshHostLoop.pm.