of the incremental tabling structures, hashkeys, was not being
deallocated when a key is removed from a hashtable, in
hashtable1_remove(). Although each key is just 8 bytes or so,
this function is called every time we recompute a table, so not
freeing the space adds up.
To fix this, I had to dive into hashtable.c, and put a call to
smdeallocate() in hashtable1_remove() -- it looks like for some
reason it was never there.
It seems likely that there are more memory leaks corresponding to
hashtables and their keys -- I'll keep looking.