Add asynch client support

We are using netty.channel.UpstreamHandler to make async event driven http request. The client tracer startNewSpan is called in a different thread than the callback thread. I followed the ServerSpanThreadBinder to solve this problem with async client calls where it's difficult to ensure the clientTracer.startNewSpan is in the same thread as  the stopClientTracer call.