use native zfs functionality for protecting  snaps with clones

Replace code to exclude snapshots with clones with native zfs functionality.  zfs -d destroy will mark snapshot for deletion when any clones (and any holds) are destroyed (removed)

In theory there should be no need for recursive destroy (-r) as autosnap.py will recursively queue snapshots which have expired - but there is a bug with recursive snaps which have replication.  I will raise bug report and have retained -r