destroy already sent snapshots on partial success
add sanity checks, improve robustness on partial send
add -v -n options
pass -v to send as well if -n (don't actually send)

passing -v to send causes progress statistics to be printed every
second, which we don't want, but it doesn't happen if we don't actually
send anything (and recv cannot print diagnostics if it doesn't receive a
stream, which is the -n case)
improve partial failure handling, use send -P for -v
don't try to do everything in one on_target after success
more sanity checking on remote snaps