[MEDIUM] Create new protected pattern types CONSTSTRING and CONSTDATA to force memcpy if data from protected areas need to be manipulated.

Enhance pattern convs and fetch argument parsing, now fetchs and convs callbacks used typed args.
Add more details on error messages on parsing pattern expression function.
Update existing pattern convs and fetchs to new proto.
Create stick table key type "binary".
Manage Truncation and padding if pattern's fetch-converted result don't match table key size.
diff --git a/include/proto/pattern.h b/include/proto/pattern.h
index 0bef7e6..ea8cf0d 100644
--- a/include/proto/pattern.h
+++ b/include/proto/pattern.h
@@ -25,11 +25,13 @@
 #include <types/pattern.h>
 #include <types/stick_table.h>
 
-struct pattern_expr *pattern_parse_expr(char **str, int *idx);
+struct pattern_expr *pattern_parse_expr(char **str, int *idx, char *err, int err_size);
 struct pattern *pattern_process(struct proxy *px, struct session *l4,
                                 void *l7, int dir, struct pattern_expr *expr,
                                 struct pattern *p);
 void pattern_register_fetches(struct pattern_fetch_kw_list *psl);
 void pattern_register_convs(struct pattern_conv_kw_list *psl);
 
+int pattern_arg_ipmask(const char *arg_str, struct pattern_arg **arg_p, int *arg_i);
+int pattern_arg_str(const char *arg_str, struct pattern_arg **arg_p, int *arg_i);
 #endif