Rework the .zfs code.
Allow .zfs even if hidden
Fix vnode iocount holds in ctldir, release holds on error case.
Mahrens confirmed we do not need to release holds in error cases.
Review IllumOS's vdev files, and ensure we set the correct values in
ashift, max_psize etc.
Merge branch 'master' into newvdev

Conflicts:
	module/zfs/zfs_ctldir.c
Darwin wants both buf_setblkno and buf_setlblkno to be called.
Darwin buf IO can handle both 512 and 4096, do like HFS+ and keep
the device physical block size, and use it to convert to blkno.