Support accessing .zfs/snapshot via NFS

Since @andrey-ve has been quite recently, I decide to step up to address the remaining issues in his patchset (#1655).

I have re-organized the commits and re-phrased some of the commit log. For those commits I changed, I have appended my signed-off line to them.

Please review, thanks.