MINOR: lua: txn: create class TXN associated with the transaction.

This class of functions permit to access to all the functions
associated with the transaction like http header, HAProxy internal
fetches, etc ...

This patch puts the skeleton of this class. The class will be
enhanced later.
diff --git a/src/session.c b/src/session.c
index aee816c..7ab91e6 100644
--- a/src/session.c
+++ b/src/session.c
@@ -33,6 +33,9 @@
 #include <proto/freq_ctr.h>
 #include <proto/frontend.h>
 #include <proto/hdr_idx.h>
+#ifdef USE_LUA
+#include <proto/hlua.h>
+#endif
 #include <proto/listener.h>
 #include <proto/log.h>
 #include <proto/raw_sock.h>
@@ -541,6 +544,11 @@
 	txn->req.chn = s->req;
 	txn->rsp.chn = s->rep;
 
+#ifdef USE_LUA
+	if (!hlua_ctx_init(&s->hlua, s->task))
+		goto out_free_rep;
+#endif
+
 	/* finish initialization of the accepted file descriptor */
 	conn_data_want_recv(conn);
 
@@ -549,7 +557,7 @@
 		 * finished (=0, eg: monitoring), in both situations,
 		 * we can release everything and close.
 		 */
-		goto out_free_rep;
+		goto out_free_lua;
 	}
 
 	/* if logs require transport layer information, note it on the connection */
@@ -567,6 +575,11 @@
 	return 1;
 
 	/* Error unrolling */
+ out_free_lua:
+#ifdef USE_LUA
+	hlua_ctx_destroy(&s->hlua);
+#endif
+
  out_free_rep:
 	pool_free2(pool2_channel, s->rep);
  out_free_req:
@@ -628,6 +641,10 @@
 	if (!LIST_ISEMPTY(&buffer_wq))
 		session_offer_buffers();
 
+#ifdef USE_LUA
+	hlua_ctx_destroy(&s->hlua);
+#endif
+
 	pool_free2(pool2_channel, s->req);
 	pool_free2(pool2_channel, s->rep);