[bugfix] Use more robust implementation of conditional evaluation
Our previous way of implementing conditional evaluation was really dirty. This one is definitely bit better, though the whole concept of avoiding single quotes in conditionals is still a bit weird.
The old implementation failed spectacular trying to evaluate a condition along the lines of 'x==x and x==x', where the third x somehow did not match in the parser.
Thanks to @eike.mueller for pointing out the original issue.
This fixes #113 (closed)