RulesParser: &&, ||, optimizations

Adds support for the || and && tokens (which I forgot to put in the
lexer, so adds those there, as well).

Specifies operator precedence for ||, && and !

Optimizes ! ! foo to just 'foo'

Optimizes stuff like foo && true to just 'foo'

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser: polish up the big ugly end-comment

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser.Luthor: reorganize the tokens list to be less random

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser: clean up some comments

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser: oops, use the same =~ syntax as bash instead of ~=

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
RulesParser: Add support for value <-> value comparison operators

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