Don't spuriously wake the TLS pthread

The problem was overloading the usage of current_tls_desc.  A new variable is
now used.
Empirically discover the pthread min stack size

PTHREAD_STACK_MIN is often not sufficient because static TLS counts against
the stack allocation.  The pthreads implementation returns EINVAL if
attr->stacksize < (__static_tls_size + MINIMAL_REST_STACK), but we can't
easily know __static_tls_size.  So we just try increasing the stack allocation
until that condition is no longer met and pthread_create succeeds.