One more try to use existing architecture of the GetContext with

AsyncResults and wait_queue usage and get rid of deadlocks

@amoiseev-softheme, experiments with mono still in progress due to D-24329 which is caused by our fix in HttpListener.GetContext