Revise scheduler, make max throughput configurable

The scheduler now has only a single policy that is currently only implemented
for work stealing. When defining a scheduler, users can now define a max
throughput parameter that denotes how many messages an actor is allowed to
consume before it must return control to the scheduler.