Reduce number of the scheduler mutex blocks
Currently, the scheduler mutex (sivelkiria::kernel::scheduling::scheduler::m_scheduler_mutex) is activated by the scheduler when looking for a new action in the queue and by action when notifying the waiting thread that the action is complete (in sivelkiria::kernel::scheduling::action::mark_complete() and sivelkiria::kernel::scheduling::action::reschedule()). However, both mark_complete() and reschedule() usually happen after the action is complete, when the thread will soon look for another action to run. Need to review this code and find out if this is possible to avoid lock-unlock-lock logic there, performing both operations under a single lock.