BUG/MINOR: stream: take care of synchronous errors when trying to send

We currently detect a number of situations where we have to immediately
deal with a state change, but we failed to consider the case of the
synchronous error reported on the stream-interface. We definitely do not
want to have to wait for a timeout to handle this one, especially at the
beginning of the connection when it can lead to an immediate retry.

This should be backported to 1.9.
diff --git a/src/stream.c b/src/stream.c
index 2918589..ade70bc 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -2503,6 +2503,7 @@
 
 		if (si_f->state == SI_ST_DIS || si_f->state != si_f->prev_state ||
 		    si_b->state == SI_ST_DIS || si_b->state != si_b->prev_state ||
+		    ((si_f->flags | si_b->flags) & SI_FL_ERR) ||
 		    (((req->flags ^ rqf_last) | (res->flags ^ rpf_last)) & CF_MASK_ANALYSER))
 			goto redo;