More of the thread infrastructure.

We can now run managed code on multiple threads.

Change-Id: Ia4ce9c94602773db238c967c15194a6db780d12f
diff --git a/src/signal_catcher.cc b/src/signal_catcher.cc
index 7061b36..08db89a 100644
--- a/src/signal_catcher.cc
+++ b/src/signal_catcher.cc
@@ -91,7 +91,7 @@
 }
 
 int WaitForSignal(Thread* thread, sigset_t& mask) {
-  ScopedThreadStateChange tsc(thread, Thread::kWaiting); // TODO: VMWAIT
+  ScopedThreadStateChange tsc(thread, Thread::kVmWait);
 
   // Signals for sigwait() must be blocked but not ignored.  We
   // block signals like SIGQUIT for all threads, so the condition