Allow a blank line before tokens by default

Changes writeToken’s linebreaksBefore’s default from 0..1 to 0..2. Since
the default for linebreaksAfter is 0..1, most of the time this won’t
make a difference. Where this does make a difference, for example, is
when we have the first token of a new statement.
Implement ThenOp, DefaultOp

    cond then foo else bar

They worked already because they’re subclasses of
BinaryOperatorExpression, but now they have a preIndent of 2.