close duplicated zfs handly

The design to perform unconditional free in zfs_iter_dependents instead of
conditional free in iter_dependents_cb made in favor of siplicity:
 * do allocation and free in the same scope
 * take into account error handling execution pathes inside iter_dependents_cb

This reverts commit 8ce0af07bb3227c152d32e74683d1fdc1869246c
Illumos #4061

Signed-off-by: Andrey Vesnovaty <andrey.vesnovaty@gmail.com>
fix regression introduced in port of Illumos #3744

Don't call strfree on char array before use of char array as input parameter.

This fixes an upstream regression that was introduced in commit
zfsonlinux/zfs@d09f25dc66774959499a89bf3680d09c6e541ce8, which
ported the Illumos 3744 changes.

Signed-off-by: Andrey Vesnovaty <andrey.vesnovaty@gmail.com>