Changed list stroage temp value registration.

Previously, temporary values registered during a recursion were added to a
std::list as VALUE and not VALUE*.  While this would keep the GC from
collecting them, this could cause problems because the address registered was
on the stack and might go out of scope.  Changed to store and register
VALUE*s to avoid this.