Fix constructor/destructor calls

This has a few benefits. first, it fixes a regression that occurred in
splat's slab_reap and slab_age tests. Second, it makes porting code from
Illumos to ZFSOnLinux easier. Third, it has the side effect of
making reclaim from slab caches that specify reclaim functions an order
of magnitude faster. The splat slab_reap test usually took 30 to 40
seconds. With this change, it takes 3 to 4.

Signed-off-by: Richard Yao <ryao@gentoo.org>