RulesParser: flatten conditional hierarchies

Here we flatten uninterrupted trees of '&&' and '||' clauses into
single '&&' and '||' multi-argument operators.

For example, after this patch,

  (w && x && y && z),
  (w && (x && (y && z))),
  and (w && ( x && y) && z)

all become ('AND', w, x, y, z) in the parsed output.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser: fix thinkos in comparison-operator dict const

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>