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.
Merge branch 'list_regression' into conservative_gc

Conflicts:
	ext/nmatrix/storage/list/list.cpp
	ext/nmatrix/storage/list/list.h
Conservative registration in data.cpp
Change internal list storage temp object unregistration functions to static