MINOR: http-rules: Add a rule to enable or disable the strict rewriting mode

It is now possible to explicitly instruct rewriting rules to be strict or not
towards errors. It means that in this mode, an internal error is trigger if a
rewrite rule fails. The HTTP action "strict-mode" can be used to enable or
disable the strict rewriting mode. It can be used in an http-request and an
http-response ruleset.

For now, by default the strict rewriting mode is disabled. Because it is the
current behavior. But it will be changed in another patch.
diff --git a/src/http_ana.c b/src/http_ana.c
index f80da9a..fa418bb 100644
--- a/src/http_ana.c
+++ b/src/http_ana.c
@@ -2943,6 +2943,9 @@
 	}
 	s->current_rule_list = rules;
 
+	/* start the ruleset evaluation in soft mode */
+	txn->req.flags |= HTTP_MSGF_SOFT_RW;
+
 	list_for_each_entry(rule, rules, list) {
 		/* check optional condition */
 		if (rule->cond) {
@@ -3309,6 +3312,10 @@
 			rule_ret = HTTP_RULE_RES_ERROR;
 	}
 
+	/* if the ruleset evaluation is finished reset the soft mode */
+	if (rule_ret != HTTP_RULE_RES_YIELD)
+		txn->req.flags |= HTTP_MSGF_SOFT_RW;
+
 	/* we reached the end of the rules, nothing to report */
 	return rule_ret;
 }
@@ -3349,6 +3356,9 @@
 	}
 	s->current_rule_list = rules;
 
+	/* start the ruleset evaluation in soft mode */
+	txn->rsp.flags |= HTTP_MSGF_SOFT_RW;
+
 	list_for_each_entry(rule, rules, list) {
 		/* check optional condition */
 		if (rule->cond) {
@@ -3671,6 +3681,10 @@
 	}
 
   end:
+	/* if the ruleset evaluation is finished reset the soft mode */
+	if (rule_ret != HTTP_RULE_RES_YIELD)
+		txn->rsp.flags |= HTTP_MSGF_SOFT_RW;
+
 	/* we reached the end of the rules, nothing to report */
 	return rule_ret;
 }