Fix detaching a debugger while threads are suspended.

The interesting part of this change is in "thread_list.cc".

I've done a TODO in TagFromClass, but haven't seen it make any practical
difference in a debugger. I also tightened up the types in GetThreadStatus
while investigating the fact that we report some threads as "RUNNING, SUSPENDED",
which makes no sense until you realize that TS_RUNNING corresponds to both
our kRunnable thread state and our kNative thread state, the latter of which
may actually be a suspended thread.

I've also made us fail faster in the "address in use" jdwp failure case,
and tidied up a bunch of the capitalization in logging.

Change-Id: I0fe705791d07db31c4615addce44da4fdfbfd0d1
diff --git a/src/debugger.h b/src/debugger.h
index 381f1db..0798635 100644
--- a/src/debugger.h
+++ b/src/debugger.h
@@ -182,7 +182,7 @@
   static JDWP::ObjectId GetSystemThreadGroupId();
   static JDWP::ObjectId GetMainThreadGroupId();
 
-  static bool GetThreadStatus(JDWP::ObjectId threadId, uint32_t* threadStatus, uint32_t* suspendStatus);
+  static bool GetThreadStatus(JDWP::ObjectId threadId, JDWP::JdwpThreadStatus* pThreadStatus, JDWP::JdwpSuspendStatus* pSuspendStatus);
   static uint32_t GetThreadSuspendCount(JDWP::ObjectId threadId);
   static bool ThreadExists(JDWP::ObjectId threadId);
   static bool IsSuspended(JDWP::ObjectId threadId);