MAJOR: channel: remove the BF_FULL flag

This is similar to the recent removal of BF_OUT_EMPTY. This flag was very
problematic because it relies on permanently changing information such as the
to_forward value, so it had to be updated upon every change to the buffers.
Previous patch already got rid of its users.

One part of the change is sensible : the flag was also part of BF_MASK_STATIC,
which is used by process_session() to rescan all analysers in case the flag's
status changes. At first glance, none of the analysers seems to change its
mind base on this flag when it is subject to change, so it seems fine not to
add variation checks here. Otherwise it's possible that checking the buffer's
input and output is more reliable than checking the flag's replacement.
diff --git a/src/channel.c b/src/channel.c
index 2af945a..ce90147 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -126,11 +126,6 @@
 	buf->buf.o += len;
 	buf->buf.p = b_ptr(&buf->buf, len);
 	buf->total += len;
-
-	buf->flags &= ~BF_FULL;
-	if (channel_full(buf))
-		buf->flags |= BF_FULL;
-
 	return -1;
 }
 
@@ -138,8 +133,7 @@
  * ->o and to_forward pointers are updated. If the buffer's input is
  * closed, -2 is returned. If there is not enough room left in the buffer, -1
  * is returned. Otherwise the number of bytes copied is returned (1). Buffer
- * flags FULL, EMPTY and READ_PARTIAL are updated if some data can be
- * transferred.
+ * flag READ_PARTIAL is updated if some data can be transferred.
  */
 int bi_putchr(struct channel *buf, char c)
 {
@@ -152,8 +146,6 @@
 	*bi_end(&buf->buf) = c;
 
 	buf->buf.i++;
-	if (channel_full(buf))
-		buf->flags |= BF_FULL;
 	buf->flags |= BF_READ_PARTIAL;
 
 	if (buf->to_forward >= 1) {
@@ -171,8 +163,7 @@
  * closed, -2 is returned. If the block is too large for this buffer, -3 is
  * returned. If there is not enough room left in the buffer, -1 is returned.
  * Otherwise the number of bytes copied is returned (0 being a valid number).
- * Buffer flags FULL, EMPTY and READ_PARTIAL are updated if some data can be
- * transferred.
+ * Buffer flag READ_PARTIAL is updated if some data can be transferred.
  */
 int bi_putblk(struct channel *buf, const char *blk, int len)
 {
@@ -214,10 +205,6 @@
 		b_adv(&buf->buf, fwd);
 	}
 
-	buf->flags &= ~BF_FULL;
-	if (channel_full(buf))
-		buf->flags |= BF_FULL;
-
 	/* notify that some data was read from the SI into the buffer */
 	buf->flags |= BF_READ_PARTIAL;
 	return len;
@@ -343,11 +330,8 @@
 
 	b->buf.i += delta;
 
-	b->flags &= ~BF_FULL;
 	if (buffer_len(&b->buf) == 0)
 		b->buf.p = b->buf.data;
-	if (channel_full(b))
-		b->flags |= BF_FULL;
 
 	return delta;
 }
@@ -382,11 +366,6 @@
 	}
 
 	b->buf.i += delta;
-
-	b->flags &= ~BF_FULL;
-	if (channel_full(b))
-		b->flags |= BF_FULL;
-
 	return delta;
 }