(FACT-618) Cherry-pick lost Solaris 10 zfs_version fix back into master

This commit cherry-picks work done on the zfs_version fact
for Solaris 10, which was lost during the facter-2 / master merge.

Original commits (2a3b5f4, 5672d00, afc66f4, 64b854d):
Fix zfs_version on old versions of Solaris 10
The zfs upgrade command used by zfs_version does not exist on some older versions of Solaris 10.

This checks for the existence of the command before trying to run it.