TS-1891: Add double-free checking for reclaimable freelist

The double-free checking for reclaimable freelist is very useful
for us to validate the correctness of memory usage by upper
layer code.

This feature is effective only when in debug mode.

Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>
Signed-off-by: Zhao Yongming <ming.zym@gmail.com>