When sched_yield is called, temporarily run tasks in round-robin order u...

...ntil they've all had a chance to run once.

Resolves #1294.
Would be nice to add an overview comment here or on `add_task_to_yield_queue()`.