makeTempNameGenerator: Produce a temp name generator with a given prefix.
Description
Returns a function f where f() or f(dumpList=FALSE) return
a new temporary name f(TRUE) or f(dumpList=TRUE) returns
the list of names generated and clears the list.