__proc_give_cores() can be called multiple times
Once you're done giving cores, call __proc_run_m() to actually start it
up. This patch moves the sending of the bulk preempt list events to
right before we run, so that you can give out small groups of cores
without having to run after each handout. Check out core_request() for
an example.
This also moves the running of _Ms out of the ksched, though
core_request() is pretty close to the ksched anyway. Regardless,
schedulers no longer need to track the difference between a RUNNABLE_M
and a RUNNING_M.