Atomic migration chains, balancing fixes.

Hello,
Here is the patch to simplify the LWP migration by inventing atomic migration
chains. It should fix PR/38169, however, it is different approach. Patch also
makes periodical balancing mandatory, and thus fixes it and the priority
raising in M2, which was broken after making run-queues mandatory.
http://www.netbsd.org/~rmind/mchains_and_fixes.diff
Please notice the sched_migration_dispatch(), where LWP gets added to the
mchain without lock held. We assume that state of LWP wont change at that
point.
I am not sure about lwp_suspend(), which returns EINTR, and _lwp_detach()
which returns ESRCH, in a case of migration state. Handle them separately,
or maybe instead of LSIDL use LSONPROC for migration state?
Please carefully review.
--
Best regards,
Mindaugas
www.NetBSD.org