Make comparisons executable

* Let expression visitors return either an actual Value node, or a
  ControlFlow object holding two jumps
* Use if diamonds to convert ControlFlow objects to nodes