This is iSCSI sharing for ZoL (shareiscsi).
* Move nfs.c:foreach_nfs_shareopt() to libshare.c:foreach_shareopt()
  so that it can be (re)used in smb.c (and later iscsi.c).
* Add support for options to 'shareiscsi'.
  + name/iqn	Full iSCSI Qualified Name (IQN), including identifier
		Default: Generated by iscsi_generate_target()
  + lun		LUN (0-16384)
		Default: 0
  + type	Share mode (fileio, blockio, nullio, disk, tape)
		Default: blockio
  + iomode	IO mode (wb, wt, ro)
		Default: wt
  + blocksize	Logical block size (512, 1024, 2048, 4096)
		Default: 4096
* Retreive the volume block size and use that (if it's
  usable) when seting the options.
  + Default to 4096 instead of 512 if it isn't.
* Default to 'blockio' as type instead of 'fileio'.

NOTE: Reshare works, but gives a failure because it do the
      reshare in iscsi_update_shareopts() BUT, for some
      reason, sa_enable_share() is called just after
      iscsi_update_shareopts() have enabled the share!!