Fix invalid reference to expired timer value
Fix invalid reference to expired timer value

if the `timer_list_head` timer is shot, it can potentially re-insert
itself within the wtimer lists (wtimer_set()) inside its callback.
`timer_list_head->next` may have been changed and cannot be
considered valid anylonger. As a matter of fact, `timer_list_head`
should probably be considered an invalid reference all together
as shooting it, in effect, 'releases' it back to it's owner.

eg. test case:
start:
timer_list_head = (1)->(NULL)
long_list_head  = (2)->(NULL)

_timer_callback: while (timer_list_head)
+->_shoot (1)
  +->callback of (1):
    +->wtimer_set (1): (1) gets inserted as long_list head
       now:
       timer_list_head = (1)->(2)->(NULL) <-that's a problem
       long_list_head  = (1)->(2)->(NULL)
+->timer_list_head = timer_list_head->next
+->_shoot(2) <-timer (2) now shoots prematurely, later, in my case, it led to circular reference (2)->(2) and a deadlock

ximus/RIOT,ximus/RIOT,ximus/RIOT,ximus/RIOT,ximus/RIOT,ximus/RIOT