Fixed gc recurse svalue macros to behave correctly in visit functions.
This bug could make Pike.count_memory miss some memory, but more importantly
it could put garbage in the gc mark queue, which in turn might cause a later
gc run to barf. This is likely to fix [bug 5072 (#5072)].