do more fare scheduling of retries
do more fare scheduling of retries

in previous version, some kind of retris (for example due to DNS lookup
failure) were scheduled in tight loop. This potentially can cause one
connection to take all resources and unless it's done nothing would be
able to move forward.

This patch ensures that each connection has only one chance to retry on
each EV loop iteration.

This patch also makes sure that a connection does only one attempt
after being created and before $yach->run is called. If not clear,
consider this:

my $conn = $yahc->request({
    host => [ 'non_existing', 'non_existing', 'correct_host' ],
    ...
});

my $attempt = yahc_conn_attempt($conn);

$yahc->run

Before this patch, the value of $attempt would be 3.  After, $attempt is
always 1.

ikruglov/YAHC,ikruglov/YAHC