kernel/sched: Mark sleeping threads suspended
kernel/sched: Mark sleeping threads suspended

On SMP, there was a bug where the logic that re-adds _current to the
run queue at swap time would accidentally reschedule threads that had
just gone to sleep, because the is_thread_prevented_from_running()
predicate only tests for threads that are "suspended" or "pending" and
not sleeping.

Overload _THREAD_SUSPENDED to indicate "sleeping" also.  Simple fix
for an immediate bug, though long term we really want to unify all the
blocked conditions to prevent this kind of state bug.

Signed-off-by: Andy Ross <c70f9a6bf6ee0cd69c8af4ce5e6b131945769315@intel.com>

GiulianoFranchetto/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,ldts/zephyr,ldts/zephyr,ldts/zephyr,finikorg/zephyr,Vudentz/zephyr,GiulianoFranchetto/zephyr,nashif/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,galak/zephyr,Vudentz/zephyr,ldts/zephyr,zephyrproject-rtos/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,finikorg/zephyr,galak/zephyr,nashif/zephyr,galak/zephyr,finikorg/zephyr,Vudentz/zephyr,nashif/zephyr,finikorg/zephyr,zephyrproject-rtos/zephyr,GiulianoFranchetto/zephyr,galak/zephyr,nashif/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,finikorg/zephyr,Vudentz/zephyr,ldts/zephyr,nashif/zephyr