replace scan recursion with loop
replace scan recursion with loop

Without TCO the recursion was holding onto response objects until the
stack unwound, effectively leaking memory up to total size of the items
in the table. Implement as a simple loop instead so objects go out of
scope and can be garbage-collected.

rlister/awful