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: Fix log buffer alignment in l2arc_dev_log_commit.
v5: Fix style.
v6: l2arc vdev can go away, remove ASSERT in l2arc_spa_rebuild_start.

Close #925

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