schedule now checks for locks, and returns zero if it cant lock the cpu
fixed regression in rwlock
can move tasks between cpus
task movement on cpus works