BUG/MINOR: httpclient: reinit flags in httpclient_start()

When starting for the 2nd time a request from the same httpclient *hc
context, the flags are not reinitialized and the httpclient will stop
after the first call to the IO handler, because the END flag is always
present.

This patch also add a test before httpclient_start() to ensure we don't
start a client already started.

Must be backported in 2.5.
diff --git a/src/http_client.c b/src/http_client.c
index dacc326..c8576e7 100644
--- a/src/http_client.c
+++ b/src/http_client.c
@@ -423,6 +423,13 @@
 	int len;
 	struct split_url out;
 
+	/* if the client was started and not ended, an applet is already
+	 * running, we shouldn't try anything */
+	if (httpclient_started(hc) && !httpclient_ended(hc))
+		return NULL;
+
+	hc->flags = 0;
+
 	/* parse URI and fill sockaddr_storage */
 	/* FIXME: use a resolver */
 	len = url2sa(istptr(hc->req.url), istlen(hc->req.url), &hc->dst, &out);