BUG/MINOR: httpclient: end callback in applet release

In case an error provokes the release of the applet, we will never call
the end callback of the httpclient.

In the case of a lua script, it would mean that the lua task will never
be waked up after a yield, letting the lua script stuck forever.

Fix the issue by moving the callback from the end of the iohandler to
the applet release function.

Must be backported in 2.5.
diff --git a/src/http_client.c b/src/http_client.c
index f06be65..e8d7b05 100644
--- a/src/http_client.c
+++ b/src/http_client.c
@@ -946,8 +946,6 @@
 	return;
 
 end:
-	if (hc->ops.res_end)
-		hc->ops.res_end(hc);
 	si_shutw(si);
 	si_shutr(si);
 	return;
@@ -963,6 +961,8 @@
 	 * again from the caller */
 	hc->appctx = NULL;
 
+	if (hc->ops.res_end)
+		hc->ops.res_end(hc);
 
 	/* destroy the httpclient when set to autotokill */
 	if (hc->flags & HTTPCLIENT_FA_AUTOKILL) {