When enabling stack use-after-free detection, we discovered that we read
the thread ID on the main thread while it is still set to 2^24-1.
This patch moves our call to AsanThread::Init() out of CreateAsanThread,
so that we can call SetCurrentThread first on the main thread.
Since that's the invariant and elsewhere there's the invariant that the main thread has tid 0, how about DCHECK_EQ(t->tid(), 0); here? There could also be a DCHECK_NE(tid(), ThreadRegistry::kUnknownTid); in ASanThread::Init, which would have caught this bug.