MAJOR: buffer: replace buf->l with buf->{o+i}

We don't have buf->l anymore. We have buf->i for pending data and
the total length is retrieved by adding buf->o. Some computation
already become simpler.

Despite extreme care, bugs are not excluded.

It's worth noting that msg->err_pos as set by HTTP request/response
analysers becomes relative to pending data and not to the beginning
of the buffer. This has not been completed yet so differences might
occur when outgoing data are left in the buffer.
diff --git a/src/frontend.c b/src/frontend.c
index e5d847b..c18cc66 100644
--- a/src/frontend.c
+++ b/src/frontend.c
@@ -253,22 +253,22 @@
 int frontend_decode_proxy_request(struct session *s, struct buffer *req, int an_bit)
 {
 	char *line = req->data;
-	char *end = req->data + req->l;
+	char *end = req->data + req->i;
 	int len;
 
-	DPRINTF(stderr,"[%u] %s: session=%p b=%p, exp(r,w)=%u,%u bf=%08x bl=%d analysers=%02x\n",
+	DPRINTF(stderr,"[%u] %s: session=%p b=%p, exp(r,w)=%u,%u bf=%08x bh=%d analysers=%02x\n",
 		now_ms, __FUNCTION__,
 		s,
 		req,
 		req->rex, req->wex,
 		req->flags,
-		req->l,
+		req->i,
 		req->analysers);
 
 	if (req->flags & (BF_READ_ERROR|BF_READ_TIMEOUT))
 		goto fail;
 
-	len = MIN(req->l, 6);
+	len = MIN(req->i, 6);
 	if (!len)
 		goto missing;
 
@@ -277,7 +277,7 @@
 		goto fail;
 
 	line += 6;
-	if (req->l < 18) /* shortest possible line */
+	if (req->i < 18) /* shortest possible line */
 		goto missing;
 
 	if (!memcmp(line, "TCP4 ", 5) != 0) {