Rule engine improvement

Improve the handling of rules with multiple criteriums of the same name.

eg. that($A, $B) & pos($A, $C) & pos($B, $D)