3525 persistent l2arc.

This patch just add a CTASSERT macro for compile time assertion, which is used in arc.c.

This macro makes the compile to spit "mixed definition and code"
warning, I can't find a way to avoid it.