MINOR: istbuf: add b_fromist() to make a buffer from an ist

A lot of our chunk-based functions are able to work on a buffer pointer
but not on an ist. Instead of duplicating all of them to also take an
ist as a source, let's have a macro to make a temporary dummy buffer
from an ist. This will only result in structure field manipulations
that the compiler will quickly figure to eliminate them with inline
functions, and in other cases it will just use 4 words in the stack
before calling a function, instead of performing intermediary
conversions.
diff --git a/include/common/istbuf.h b/include/common/istbuf.h
index 9b6ce7c..933ec99 100644
--- a/include/common/istbuf.h
+++ b/include/common/istbuf.h
@@ -33,6 +33,9 @@
 #include <common/ist.h>
 
 
+/* makes a buffer pointer from an IST */
+#define b_fromist(in) ({ const struct ist __i = (in); &(const struct buffer){ .area = __i.ptr, .head = 0, .data = __i.len, .size = __i.len}; })
+
 /* b_isteq() : returns > 0 if the first <n> characters of buffer <b> starting
  * at offset <o> relative to the buffer's head match <ist>. (empty strings do
  * match). It is designed to be used with reasonably small strings (it matches