MEDIUM: buffers: move "output" from struct buffer to struct channel

Since we never access this field directly anymore, but only through the
channel's wrappers, it can now move to the channel. The buffers are now
completely free from the distinction between input and output data.
diff --git a/include/types/channel.h b/include/types/channel.h
index c483399..5205bd6 100644
--- a/include/types/channel.h
+++ b/include/types/channel.h
@@ -189,6 +189,7 @@
 	unsigned int analysers;         /* bit field indicating what to do on the channel */
 	struct buffer *buf;		/* buffer attached to the channel, always present but may move */
 	struct pipe *pipe;		/* non-NULL only when data present */
+	size_t output;                  /* part of buffer which is to be forwarded */
 	unsigned int to_forward;        /* number of bytes to forward after out without a wake-up */
 	unsigned short last_read;       /* 16 lower bits of last read date (max pause=65s) */
 	unsigned char xfer_large;       /* number of consecutive large xfers */