Add ConditionalParseNode

Merge logical and block IF handling into a single conditional parse
node with optimisation.