Don't make many connections when pipelining after a timeout.

There was still a problem left when there is a delay between the call to
connect() and the connection being established.

The bits.close bit is set by default upon construction of a connectdata
struct only to be reset (when the user specifically requests so)
AFTER the connection is established.

The result was that after a timeout new connections were made while
none of them had established a connection yet, something I didn't
notice while testing before because I was running the server and
client on localhost with negligible connection times.

We can therefore NOT use that bit to test if a connection timed out,
because the close bit is also set BEFORE it even connects.

This commit fixes this problem by using a new bit (timedout) that is FALSE
from the start and only is set when the connection actually times out.

As a result, also connections that are not established yet are found
now and 'reused', with the desired effect of only using a single active
connection for the duration of the test.