MINOR: chunk: add chunk_istcat() to concatenate an ist after a chunk

We previously relied on chunk_cat(dst, b_fromist(src)) for this but it
is not reliable as the allocated buffer is inside the expression and
may be on a temporary stack. While it's possible to allocate stack space
for a struct and return a pointer to it, it's not possible to initialize
it form a temporary variable to prevent arguments from being evaluated
multiple times. Since this is only used to append an ist after a chunk,
let's instead have a chunk_istcat() function to perform exactly this
from a native ist.

The only call place (URI computation in the cache) was updated.
diff --git a/src/cache.c b/src/cache.c
index 2ca745a..8e2acd1 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1097,10 +1097,10 @@
 	 * well.
 	 */
 	if (!(sl->flags & HTX_SL_F_HAS_AUTHORITY)) {
-		chunk_cat(trash, b_fromist(ist("https://")));
+		chunk_istcat(trash, ist("https://"));
 		if (!http_find_header(htx, ist("Host"), &ctx, 0))
 			return 0;
-		chunk_cat(trash, b_fromist(ctx.value));
+		chunk_istcat(trash, ctx.value);
 	}
 
 	chunk_memcat(trash, uri.ptr, uri.len);