Block TcpipServer.StopListening until socket is used

In some cases there was still _listener.AcceptSocket waiting even when
_listener.Stop was called before. That causes problems when we tried to
start new TcpipServer listening on the same port.

(the _listening variable is not needed probably if we rely on catching InvalidOperationException..)