ThreadControlBlock: add pointer to ThreadControlBlockList, add setList() accessor
ThreadControlBlockList: update list pointers of ThreadControlBlock elements in all operations of the list
ThreadControlBlock: keep iterator to the element on the list, add setIterator() accessor
ThreadControlBlockList: set iterator of added ThreadControlBlock in ThreadControlBlockList::sortedEmplace()
ThreadControlBlock: add ThreadControlBlock::getList() accessor
ThreadControlBlock: add ThreadControlBlock::getIterator() accessor
Scheduler: call ThreadControlBlock::getList() to get current container to unblock the thread in Scheduler::unblockInternal_()
Scheduler: remove "ThreadControlBlockList& container" parameter from Scheduler::unblock(), modify all calls
Scheduler: check current list instead of current state in Scheduler::resume(), Scheduler::switchContext(), Scheduler::blockInternal_() and Scheduler::isContextSwitchRequired_()
Scheduler: add Scheduler::blockUntil()
SoftwareTimerControlBlock.hpp, ThisThread.hpp: formatting fixes
Mutex: add Mutex::tryLockFor() and Mutex::tryLockUntil()