BUG/MEDIUM: vars: make the tcp/http unset-var() action support conditions

Patrick Hemmer reported that http-request unset-var(foo) if ... fails to
parse. The reason is that it reuses the same parser as "set-var(foo)" which
makes a special case of the arguments, supposed to be a sample expression
for set-var, but which must not exist for unset-var. Unfortunately the
parser finds "if" or "unless" and believes it's an expression. Let's simply
drop the test so that the outer rule parser deals with potential extraneous
keywords.

This should be backported to all versions supporting unset-var().
diff --git a/src/vars.c b/src/vars.c
index 1d83c18..49ff672 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -697,6 +697,7 @@
  * the format:
  *
  *   set-var(<variable-name>) <expression>
+ *   unset-var(<variable-name>)
  *
  * It returns ACT_RET_PRS_ERR if fails and <err> is filled with an error
  * message. Otherwise, it returns ACT_RET_PRS_OK and the variable <expr>
@@ -740,10 +741,6 @@
 	/* There is no fetch method when variable is unset. Just set the right
 	 * action and return. */
 	if (!set_var) {
-		if (*args[*arg]) {
-			memprintf(err, "fetch method not supported");
-			return ACT_RET_PRS_ERR;
-		}
 		rule->action     = ACT_CUSTOM;
 		rule->action_ptr = action_clear;
 		return ACT_RET_PRS_OK;