Add the signal catcher (for SIGQUIT and SIGUSR1).

Also fix some of the thread implementation.

Change-Id: If2d1b59a149ba1ac192ad9bc74319c8dff228549
diff --git a/src/thread.h b/src/thread.h
index ac1d7e3..e8ca156 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -225,8 +225,10 @@
     return id_;
   }
 
-  pid_t GetNativeId() const {
-    return native_id_;
+  pid_t GetTid() const;
+
+  pthread_t GetImpl() const {
+    return handle_;
   }
 
   bool IsExceptionPending() const {
@@ -428,9 +430,6 @@
 
   State state_;
 
-  // Native (kernel) thread id.
-  pid_t native_id_;
-
   // Native thread handle.
   pthread_t handle_;
 
@@ -452,15 +451,6 @@
   // useful for testing.
   const ClassLoader* class_loader_override_;
 
-  // The memory mapping of the stack for non-attached threads.
-  scoped_ptr<MemMap> stack_;
-
-  // The inclusive base of the control stack.
-  byte* stack_base_;
-
-  // The exclusive limit of the control stack.
-  byte* stack_limit_;
-
   // TLS key used to retrieve the VM thread object.
   static pthread_key_t pthread_key_self_;