Pull Request for Issue977: CLSNetworkDirectorySynchronizer Race Condition

Fixed the problem by manually checking the thread affinity of the synchronizer_ object. If it's not back in the main thread (yet), then we wait for another 10msec before calling the new helper function. I think this could be set down to 0msec and just wait for the next event loop, but I'm not sure if it might take more than one event loop for the queued messages from other threads to get delivered. This seems to work just fine. Tested on SGM and the warnings are gone.