Fix a memory leak in LPUT when it had bad input and the :erract handler returned a newly allocated list.
The leak was introduced in recent refactoring when llput was made to use validate_list_argument().
The problem is that the list NODE* that should have been gcref'd was also used to walk the list,
so NIL ended up being gcref'd instead.