Make mount.zfs print its name in error messages

Linux's mount command prefixes mount by the actual command name. This
patch modifies mount.zfs to mimick this behavior.
SMBFS sharing for ZoL.
Sixth official patch attempt. Previous ones was/is lost
in my inability with GIT.
* Fix issues after review by behlendorf.
  = Move comments etc from the README to the code and to the manpage.
  = Adhere to the 80 char line limit.
  = Cast constants when setting argv[x].
  = More defines, concentrated at the top.
  = Move smb_retrieve_shares() to the top, to avoid forward declaration.
  = Make private functions static.
  = Remove all debugging.
  = Whitespace fixes.
  = Return SA_OK instead of 0 where needed.
  = Remove some fprintf(stderr, "ERROR: ...") strings. Not needed really,
    they where mostly for debugging any way.
  = Bump release.
  = Add missing locale.h include.
  = Add file_is_executable().
  = Remove file_is_executable() per request from Brian.

* Some minor SMBFS fixes, comments from Richard Laager:
  = Remove redundant variable = NULL check.
  = Rewrite static 'net' command options define's
  = Remove commented out/redundant line parsing code.
  = Add Samba host options to net command in smb_disable_share_one()
    as well.

* Fixes after second review by behlendorf.
  = Putting back things that wasn't mine that I removed or
    changed..
  = Remove the file_is_executable() declaration that came
    back some how.
  = Reword, rewrite and indent information about how to
    setup Samba.
  = Implement smb_validate_shareopts().

* Fixes after third review by Prakash-Surya.
  = Removed missplaced space.
Add iSCSI sharing to ZoL.
Sixth official patch attempt. Previous ones was/is lost
in my inability with GIT.
* Script to run through some tests to test share/unsharing...
* Debugging output added.
* Retabbing
* Fix faulty nfs|smb check (setting ZFS_TYPE_FILESYSTEM). Now possible to
  use 'share -a [nfs|smb|iscsi] as command line suggests. Not documented
  in man page though...
  + In unshare_unmount(), 'if(do_all)', 'continue' instead of 'break' after
    checking 'sharenfs=off' (so that we can continue checking for shareiscsi
    and sharesmb).
* Process iscsi shares early in update_zfs_shares_cb().
* Fix problem with assertion fail when running 'zfs unshare -a'.
* Call process_share() early of update_zfs_shares_cb() if iSCSI.
* Add shell script (test_zfs.sh) to test some functionality of SMB/iSCSI
  patch(es).
+ Remove file_is_executable() from iSCSI per request from Brian.

Fix some stuff that I know Brian will nag about :)
* 80 char line
* Move content of README to code + man page.
* Remove all debugging.
* Return SA_OK instead of 0 where needed.
* Cast to char* when setting argv with constant string(s).
* C9x compliance
* Make private functions static.

Some minor iSCSI fixes, comments from Richard Laager:
* Remove redundant variable = NULL check.
* Rename the custom iSCSI share script (remove .sh suffix).
  + Reword manual

Some more iSCSI fixes.
* Since iscsi_retrieve_targets() is now static, move it
  up to the top of iscsi.c and remove from iscsi.h.
* In update_zfs_shares_cb(), do the iSCSI parts later
  and skip the if type != FS check etc.
* Implement iscsi_validate_shareopts().
* Distinguish between FS and VOL when updating
  share information.
  + Support adding a VOL to list.
* Uncomment some stuff in process_share() that is/was supposed
  to possibly fix the 'shareicsi=on' auto sharing but didn't.
  Only made it to not compile...
* Update copyright note and year(s).

Fixes after second review by behlendorf and comments by Richard Yao.
* Check for getdomainname() - set HAVE_GETDOMAINNAME=1 if so - in
  ./configure.
  + Only try to get domain name with getdomainname() if
    we have it (HAVE_GETDOMAINNAME). If we don't, use the
    file /etc/domainname (configurable with DOMAINNAME_FILE).
* s/if\(/if \(/.
* Init iscsi_volumes_fp in iscsi_retrieve_targets() to NULL.
* Make sure tid_s is only 11 chars long.
* Remove one level of indentation from test binary.
* Don't malloc temp - memleak in test binary.
* Retabbing.
* s/share/tank/g in comments etc.

More fixes after review by Richard Yao, Richard Laager and Prakash Surya:
* Spelling errors fixed.
* ietadm is in man section '8', not '8M' (to much cut-and-past :).
* Remove (rewrite) some redundant strlen() usage.
* Replace a non-working sizeof with strlen.
Illumos #1346: zfs incremental receive may leave behind temporary clones

1356 zfs dataset prefetch code not working
Reviewed by: Matthew Ahrens <matt@delphix.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>
OS-926: zfs panic in zfs_fill_zplprops_impl()

Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Matt Ahrens <matt@delphix.com>
OS-682: ARC minimum is set too high, potentially blocking VM creation
Illumos #1951: leaking a vdev when removing an l2cache device

1952 memory leak when adding a file-based l2arc device
1954 leak in ZFS from metaslab_group_create and zfs_ereport_checksum
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Eric Schrock <eric.schrock@delphix.com>
Reviewed by: Bill Pijewski <wdp@joyent.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Approved by: Eric Schrock <eric.schrock@delphix.com>
Illumos #1661: ZFS bug in sa_find_sizes() that can lead to panic

1313 Integer overflow in txg_delay() (fix copyright)
Reviewed by: Matthew Ahrens <matt@delphix.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>
Illumos #1475: zfs spill block hold can access invalid spill blkptr

Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <gwilson@zfsmail.com>
Approved by: Garrett D'Amore <garrett@nexenta.com>