Improve suspension timeout diagnostic and fix race

Fix a data race on state_and_flags. Since the access was volatile
and there are system calls in the loop, this is extremely unlikey
to have casused the bug here, but ...

So, assuming this is still broken, produce more informative
output once we time out.

Remove unused argument from SuspendThreadByPeer(). It made the
logic more complicated and made it harder to reason about
correctness.

Remove dead code after LOG(FATAL, ...)

Bug: 181778559
Test: TreeHugger, temporarily paste log message into hotter path.
Merged-In: I6f3455925b3a3f4726a870150aeb54ea60a38d67
(cherry picked from commit 9d27fbc8ced914f4726187920a7794b07eca3e71)
Change-Id: Ia3f04153fb0a4f1b899fb0f68a6121728f89cb91
9 files changed