Scheduler: do the round-robin rotation in Scheduler::tickInterruptHandler(), not in Scheduler::switchContext()
Scheduler: reset round-robin quantum only when adding the thread and when the thread is unblocked - as in POSIX guidelines http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_08_04
Scheduler: formatting change
ThisThread: formatting change
ThisThread: implement ThisThread::sleepUntil() with Scheduler::blockUntil()
Scheduler: delete Scheduler::sleepUntil()
Scheduler.cpp/.hpp: remove unused #includes
Scheduler: remove Scheduler::requestContextSwitch() - call architecture::requestContextSwitch() directly
Scheduler: add Scheduler::maybeRequestContextSwitch()
Scheduler: use Scheduler::maybeRequestContextSwitch() in Scheduler::add() and Scheduler::unblock()
Scheduler: move current thread to the back of all threads with the same priority in Scheduler::yield() - as in POSIX guidelines http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_08_04
test: add basic version of wasteTime()
test: add wasteTime() variant which uses duration
test: add templated variants of wasteTime()
RoundRobinQuantum: add convenience RoundRobinQuantum::isZero() function
RoundRobinQuantum: use RoundRobinQuantum::isZero() in RoundRobinQuantum::decrement()
Scheduler: use RoundRobinQuantum::isZero() in Scheduler::tickInterruptHandler() and Scheduler::isContextSwitchRequired()
RoundRobinQuantum: use std::chrono::duration<> for quantum instead of raw uint8_t
RoundRobinQuantum: make this class completely inline, delete source file
RoundRobinQuantum: set initial value of quantum in constructor