MEDIUM: connection: move the send_proxy offset to the connection

Till now the send_proxy_ofs field remained in the stream interface,
but since the dynamic allocation of the connection, it makes a lot
of sense to move that into the connection instead of the stream
interface, since it will not be statically allocated for each
session.

Also, it turns out that moving it to the connection fils an alignment
hole on 64 bit architectures so it does not consume more memory, and
removing it from the stream interface was an opportunity to correctly
reorder fields and reduce the stream interface's size from 160 to 144
bytes (-10%). This is 32 bytes saved per session.
diff --git a/include/types/connection.h b/include/types/connection.h
index 3975743..d600937 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -242,13 +242,14 @@
  */
 struct connection {
 	enum obj_type obj_type;       /* differentiates connection from applet context */
+	unsigned int flags;           /* CO_FL_* */
 	const struct protocol *ctrl;  /* operations at the socket layer */
 	const struct xprt_ops *xprt;  /* operations at the transport layer */
 	const struct data_cb  *data;  /* data layer callbacks. Must be set before xprt->init() */
-	unsigned int flags;           /* CO_FL_* */
-	int xprt_st;                  /* transport layer state, initialized to zero */
 	void *xprt_ctx;               /* general purpose pointer, initialized to NULL */
 	void *owner;                  /* pointer to upper layer's entity (eg: stream interface) */
+	int xprt_st;                  /* transport layer state, initialized to zero */
+	int send_proxy_ofs;           /* <0 = offset to (re)send from the end, >0 = send all */
 	union {                       /* definitions which depend on connection type */
 		struct {              /*** information used by socket-based connections ***/
 			int fd;       /* file descriptor for a stream driver when known */