#869: allow comprehensions to start with an if clause

Implements #869. (Or rather, this PR implements the grammar and typechecker part, while the PRs listed below implement the change in the backends and add tests.)

Pull in ceylon/ceylon-compiler#1540, ceylon/ceylon-js#312 and ceylon/ceylon.language#397 as well.

Example code and generated code: https://gist.github.com/lucaswerkmeister/8530183