AbstractTransformer: Add a makeVar() method which accepts modifiers
Issue #986: Capture the actual *value* of the iterator when evaluating a comprehension, rather than capturing the iteration *variable* whose value will then change as the iteration proceeds. With any luck this will mean the Iterator can be GCd earlier (since the Callable should no longer capture the Iterator itself, only the local variables)
Issue #986: Test
Issue #986: Fix the .src which changed because of the new Comprehension transformation
Issue #974: Use a initializer block in an anonymous local class instead of a constructor of a named local class
Issue #974: Change all the expected .src for the new comprehension transformation. Again.
AbstractTransformer: fixed isCeylonBoolean code because it accepted Foo|Nothing as a Boolean type

And, well, that wasn't entirely correct. In fact it was a tad more wrong than it was rightish.
AbstractTransformer #1051: Reified `is`: optimise tests for `Foo<Anything>`
ExpressionTransformer: small optim for variance casts: ignore types with the same erasure

This way {Foo+} and {Foo*} don't need a variance cast anymore, because after all they erase
to the same exact thing, even in the type hierarchy
StatementTransformer: turned out that iterables needed proper boxing/erasure so we build the right expected type
TypeParameters.src: somehow this test slipped the reified generics update
Erasure test: updated to latest typechecker stricter checks
Updated tests to new stricter typechecker checks
Updated tests for #1051: Reified `is`: optimise tests for `Foo<Anything>`
Test for #1051: Reified `is`: optimise tests for `Foo<Anything>`
ErasureCasting.src: someone added type parameters to Sequential when erased?
Removed casts to Iterable due to optim in variance casts
updated .src with a few extra casts to Iterable due to correct impl of for boxing/erasure

These are not strictly necessary but they're a pain to remove
isVoid->isAnything
Updated test for #995