Call zpool_enable_datasets once per pool.

We need to check the return code of zpool_import before proceeding
to zpool_enable_datasets. It seems the return code will be 0 for
the call to zpool_import for the first encountered vdev, and non-zero
for all subsequent vdevs. Skipping zpool_enable_datasets for non-zero
return codes from zpool_import should be sufficient to prevent
zpool_enable_datasets from being called more than once on the same
pool.

If we attempt to enable the datasets despite non-zero zpool_import
return code, not all datsets are enabled after boot.