core/sys/rtimer.c (next_timer_locked): schedule only when needed / in doubt

If a timer expires we remove it and then have to schedule the next
timer (if any) with rtimer_arch_schedule

However, if the timer handler reschedules the timer and that timer is
first in the list again, then set_locked will already have taken care
of scheduling and we don't need to schedule a second time in
next_timer_locked.

This greatly reduces the number of calls to rtimer_arch_schedule. In
an experiment with two timers, one of them randomized, the number of
calls to rtimer_arch_schedule per timer expiration was originally

0: 0.14%
1: 40.47%
2: 53.02%
3: 6.37%

and could be reduced to:

0: 0.07%
1: 99.92%
2: 0.01%

(0 calls mean that the scheduling happed after expiration of another
timer.)