Revert back to dedicated new pthread for vcore 0

Using signals for preemption didn't like sending a signal to the pthread that
was originally the main thread.  Doing so would cause us to reinstall the TLS
of that thread inside the signal handler, rather than just remaining on
whatever TLS got interrupted.  With this new (actually old) way of doing
things, we have an extra pthread sitting around that will never be used again,
but the benefits outweigh the costs.
Temporarily broke compiling with NO_UTHREAD_TLS