Add UnionType

    String|Integer|Float
Reorder switch cases in NarrowingTransformer

putting what I guess to be the common case first
Work around ceylon/ceylon-compiler#1695
Add MainType, UnionableType (abstract)

MainType of UnionType|UnionableType
UnionableType of IntersectionType|PrimaryType
(we could also have IntersectableType => PrimaryType)

Just to avoid some union types.
Add EntryType

    String->Iterable<String>

And with this, the hierarchy of Ceylon types is done!
source-gen: don’t add sample in backend test

1. The generated code was no longer correct (after I changed the tests)
2. It’s better if there’s a compilation error, makes it harder for me to
   miss adding a test.
source-gen: Add import + method to RedHatTransformer

Also significantly simplifies expandFile() so it can handle
non-consecutive sorted lines (don’t check the previous line).
source-gen: Add method to Editor
source-gen: Add method to CeylonExpressionTransformer
Comment out problematic annotations

See ceylon/ceylon-compiler#1699 and ceylon/ceylon-spec#1002.