[threads] Return suspend sort from begin_suspend_for_running_thread
Change begin_cooperative_suspend and begin_preemptive_suspend to return one of
three results: suspend fail, suspend succeeded using cooperative suspend,
suspend succeeded using preemptive suspend.
This is used by check_async_suspend to decide whether to check the
MonoThreadInfo for the result of a suspend. (If a thread is suspended
cooperatively, it doesn't make sense to check).
Fixes sporadic failures in mono/tests/monitor-abort.exe