3525 persistent l2arc.

For details, see: https://www.illumos.org/issues/3525

v2: Change two KM_SLEEP to KM_PUSHPAGE.
v3: Change one more KM_SLEEP.
v4: The original implementation seems to assume that compressed log buf
size is aligned with SPA_MINBLOCKSIZE, which is not always the case.
This might result in truncated log bufs. To fix this and maintain
compatibility with the original implementation, disabling compression
seems to be the only way.
v5: Fix style.

Close #925

Ported-by: Yuxuan Shui <yshuiv7@gmail.com>