Add failing test deadlock when starting yappi and a thread in the same time

The test is skipped if pthreading is not installed.
Fix deadlock when staring yappi and a thread in the same time

Previously the context name was obtained on the first profile callback from a
thread, by calling back into Python and getting the current thread class name.
This works most of the time, but deadlocks if the first call is
_active_limbo_lock.acquire, called from Thread.__bootstrap_inner. In this case,
the thread is not registered yet in the _active dictionary, so curentThread
return a new _DummyThread intance. _DummyThread.__init__ try to acquire
_active_limbo_lock to register itself, which deadlocks.

This patch removes the code getting the class name by calling
threading.curentThread(), and instead use the context_name_callback machanism
to register a callback that access directly threading._active dictionary.

Since threads are not registered in threading._active during the first profile
calls, yappi accept now None as a special value and will try again until it get
a string or the callback fails.