MEDIUM: vars: adds support of variables

This patch adds support of variables during the processing of each stream. The
variables scope can be set as 'session', 'transaction', 'request' or 'response'.
The variable type is the type returned by the assignment expression. The type
can change while the processing.

The allocated memory can be controlled for each scope and each request, and for
the global process.
diff --git a/include/proto/vars.h b/include/proto/vars.h
new file mode 100644
index 0000000..dadbf3b
--- /dev/null
+++ b/include/proto/vars.h
@@ -0,0 +1,10 @@
+#ifndef _PROTO_VARS_H
+#define _PROTO_VARS_H
+
+#include <types/vars.h>
+
+void vars_init(struct vars *vars, enum vars_scope scope);
+void vars_prune(struct vars *vars, struct stream *strm);
+int vars_check_arg(struct arg *arg, char **err);
+
+#endif