[MAJOR] support for source binding via cttproxy

Using the cttproxy kernel patch, it's possible to bind to any source
address. It is highly recommended to use the 03-natdel patch with the
other ones.

A new keyword appears as a complement to the "source" keyword : "usesrc".
The source address is mandatory and must be valid on the interface which
will see the packets. The "usesrc" option supports "client" (for full
client_ip:client_port spoofing), "client_ip" (for client_ip spoofing)
and any 'IP[:port]' combination to pretend to be another machine.

Right now, the source binding is missing from server health-checks if
set to another address. It must be implemented (think restricted firewalls).
The doc is still missing too.
diff --git a/include/types/proxy.h b/include/types/proxy.h
index f3304e6..8523a69 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -102,6 +102,9 @@
 	int options;				/* PR_O_REDISP, PR_O_TRANSP, ... */
 	int mode;				/* mode = PR_MODE_TCP, PR_MODE_HTTP or PR_MODE_HEALTH */
 	struct sockaddr_in source_addr;		/* the address to which we want to bind for connect() */
+#ifdef CONFIG_HAP_CTTPROXY
+	struct sockaddr_in tproxy_addr;		/* non-local address we want to bind to for connect() */
+#endif
 	struct proxy *next;
 	struct sockaddr_in logsrv1, logsrv2;	/* 2 syslog servers */
 	signed char logfac1, logfac2;		/* log facility for both servers. -1 = disabled */