Clean up sending via SSH
Clean up sending via SSH

This commit cleans up the work done in the 'send_dataset' function.
Namely, some of the assumptions around targets were based on what SSH
requires, and not necessarily what other transmission schemes might need.

Instead, most of these assumptions were moved into the functions that actually
do the work of sending a snapshot for that scheme. This should make it easier
to start implementing the 'local' send scheme.

arader/zshadow,arader/zfshadow