Change semantics of Release_All().

At present, Release_All() does not free previous allocations, but allows
reuse.  However, all the existing usages of Release_All() expect
the memory to be freed, resulting in a number of memory leaks.  To fix
these problems, change the behavior Release_All() to free memory instead
of reuse.
Remove unused method MemPool_Eat().