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!!