aft: Fix false double free/not free'd messages from realloc/free.
aft: Fix false double free/not free'd messages from realloc/free.

Suppose we have a block alloced that's at 0xdeadbeef. This block gets free'd.
Then, though the magic of malloc, aft gets another block that also starts at
0xdeadbeef. This caused aft to think the frees went to the first block (the
deleted one), and reallocs would also target the wrong block.

This was discovered during testing of subscripts. The new code will have aft's
realloc and free look for the last block that matches a pointer, since that
will be the most recent (and the valid) block.

boardwalk/lily,crasm/lily,crasm/lily,boardwalk/lily,crasm/lily