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.
Oops, we wanted `auto& tasks = ...` here.