Receive timeout

Update the swift code to use the split timeouts for receive and read.

I added only receive timeout similar to the nifty code. There are now two timeouts: the receive timeout which is the overall time that a client is willing to wait for a response and the read timeout which is the maximum time that the client will wait for the server to make progress.