Set SocketAwaiter.IsCompleted to true when it completes.
Add IsCompleted check in SocketEx for fast-fail.
Add unit tests for SocketAwaiter.