Fix infinite loop, when doing WRITE SAME on file-backed LUN.

MFC after:	3 days

(cherry picked from commit 55374f2c30a42a16311a4bb52d4c49e6ad7059c1)
Implement separate I/O dispatch method for ZVOLs in "dev" mode.

Unlike disk devices ZVOLs process all requests synchronously.  That makes
impossible sending multiple requests to them from single thread.  From the
other side ZVOLs have real d_read/d_write methods, which unlike d_strategy
can handle uio scatter/gather and have no strict I/O size limitations.

So, if ZVOL in "dev" mode is detected, use of d_read/d_write methods instead
of d_strategy allows to avoid pointless splitting of large requests into
MAXPHYS (128K) sized chunks.

MFC after:	1 week

(cherry picked from commit 56e0af05ed25b14a40f0e991e3324ad6513ea182)