This is iSCSI sharing for ZoL (shareiscsi).
* Support retrieving active iSCSI sessions:
  + 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'.
  + If shareiscsi=on, then force setting a name value.
    This so that the IQN doesn't change 'next month' (when
    it is regenerated again). Works as long as a 'off'
    and then a 'on' is not done - every time set to 'on'
    the value is regenerated. This patch stops that.
* Support for SCST iSCSI implementation.
* Retrive active iSCSI sessions