Disable TRIM on file backed ZFS vdevs and fix TRIM on init

After r265152 TRIM requests are ZIO_TYPE_FREE instead of ZIO_TYPE_IOCTL
this meant file backed vdevs to attempted to process the ZIO as a write
causing a panic.

We now disable TRIM on file backed vdevs and ASSERT the ZIO types supported
by each vdev type to ensure we explicity support the ZIO type being
processed.

Also ensure that TRIM on init is not procesed for devices which declare they
didn't support TRIM via vdev_notrim.

PR:		195061, 194976, 191573
Sponsored by:	Multiplay


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274619 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revert r273630 as the panic was fixed by r274619

The panic was caused by TRIM requests run against file based vdevs as write
requests.

PR:		191573
Sponsored by:	Multiplay


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274620 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f