Add freelist assertion on every free().

This commit performs a check on the freelist pages to ensure that a double free can never happen.

/cc @snormore @mkobetic