Some SMBFS rewrites

Most notably:
  * Support options to sharesmb
  * SMBFS registry shares instead of user shares.


A registry share is much more configurable than a user share, that basically only accepts path, comment and guest_ok. A registry share supports every option that one would have in smb.conf(5).


The only change, for the user/admin, is that the 'acl' option is no more. Instead there is the 'writeable' boolean.


The commit (162e908) about reopening the sharetab is to fix a problem I've seen quite a lot, but not been able to pinpoint. But it seems like when libzfs opens the sharetab, and libshare replaces it with an updated one, libzfs doesn't see the change/new file. So instead just reopen it before we try to read from it.