Use the vdev's ashift to calculate the supported min block size passed to
zio_compress_data(..) when compressing l2arc buffers.

This eliminates l2arc I/O errors, which resulted in very poor performance on
vdev's configured with block size greater than 512b due to compression
assuming a smaller min block size than the vdev supports.

MFC after:	2 days
Fix memory and references leak due to unfreed path.

Coverity CID:	1109815
Fix memory and references leak due to unfreed path.

Coverity CID:	1054773