Implement ceylon/ceylon-spec#869: comprehensions starting with if clauses
Fix bugs in comprehensions starting with if clauses

* `(if)+ expression` did not have a "tail", i. e., did not return if the
  condition was false
* `(if)+ (for) (if|for)* expression` wrote the "tail" before closing the
  "if"’s braces: a) double return inside the if, b) missing return
  outside the if

part of ceylon/ceylon-spec#869
Fix stupid bug in "if+ expr" comprehensions

(that is, comprehensions without "for" clauses.)

(Part of ceylon/ceylon-spec#869.)
Fix yet another bug in "if+ expr" comprehensions

(that is, comprehensions without a "for" clause)

The comprehension would return the result infinitely instead of only
once.

Still part of ceylon/ceylon-spec#869.