Implement comprehensions

With this, the formatter can format FormattingOptions_generated.ceylon,
which is of course a huge step towards #25. (Of course, there are
differences, and some of them I’d like to fix – for example,
SparseFormattingOptions+decoration (no space between type and
identifier) – but at least it doesn’t crash!)