sched: core: fixed an empty run queue bug.

If the run queue was empty (i.e. the IDLE thread is running), it would
try to run a NULL pointer thread. Fixed by setting the next thread to
struct rq::current if sched_class::next_runnable returns NULL.

Signed-off-by: Michel Megens <dev@michelmegens.net>