MEDIUM: conn-stream: Pre-allocate endpoint to create CS from muxes and applets

It is a transient commit to prepare next changes. Now, when a conn-stream is
created from an applet or a multiplexer, an endpoint is always provided. In
addition, the API to create a conn-stream was specialized to have one
function per type.

The next step will be to share the endpoint structure.
diff --git a/src/check.c b/src/check.c
index b26e7b9..44583c2 100644
--- a/src/check.c
+++ b/src/check.c
@@ -1391,11 +1391,9 @@
 	if (check->type == PR_O2_EXT_CHK)
 		t = task_new_on(0);
 	else {
-		check->cs = cs_new(NULL);
+		check->cs = cs_new_from_check(check, CS_FL_NONE);
 		if (!check->cs)
 			goto fail_alloc_cs;
-		if (cs_attach_app(check->cs, &check->obj_type) < 0)
-			goto fail_attach_cs;
 		t = task_new_anywhere();
 	}
 
@@ -1420,7 +1418,6 @@
 	return 1;
 
   fail_alloc_task:
-  fail_attach_cs:
 	cs_free(check->cs);
   fail_alloc_cs:
 	ha_alert("Starting [%s:%s] check: out of memory.\n",