Add an IdleTimeout to the Transport

If there's an IdleTimeout, wrap the net.Conn to set a deadline for all
Read and Write operations.