PT48473419 - Proxy exits with "failed to terminate after 20.000 seconds"

Problem was that a proxy thread running a SIPClientTCP deadlocked before
starting garbage collection because another thread triggered its
termination from garbage collection. The termination func waited 20 secs,
asserted and killed the proxy. To overcome this issues a thread
does not have to block and wait to start garbage collection while the
gc is already in progress (started by some other thread).

Garbage collection is run by a specific thread from SipTransactionList
and also whenever a thread does SipTransactionList::findTransactionFor
with the purpose of being done very often.