Cherry-pick in IllumOS #4873 again

Conflicts:
	module/avl/avl.c
	module/zfs/dbuf.c
	module/zfs/dnode.c
Do not call zil_replaying if zillog or tx are NULL
Improve unmap tx with dmu_tx_mark_netfree

marks the transaction as a net free, helpful
if the pool is low on free space
Correctly set zvol logical and physical blocksize
Set bytesPerPhysicalSector to volblocksize not 4k
Only use zil_commit for unmap if sync=always
Align unmaps to zvol volblocksize

Skip unmaps that are fully unaligned
(size of 0 after rounding)
Disable debug logging

each section labeled VERBOSE_DEBUG can
be removed after review
Merge pull request #262 from openzfsonosx/issue207-realign

Issue207 realign