Fix bogus nonemptiness check

Checking

    is {Bla+}

does a reified type check… it’s not guaranteed to be true for any
nonempty iterable, which is what we really wanted to test for.
RedHatTransformer: Add missing synthetic value modifier

The typechecker needs that, otherwise it crashes with an NPE.
Add type system turing machine sample

Two functions:

1. Given any Turing Machine, produce a compilation unit with several
   definitions that combined can be used to emulate a Turing Machine
   within the Ceylon type system.
2. Given any input, produce a compilation unit with a single function
   that uses the definitions from 1 to emulate a Turing machine.

This demonstrates that the Ceylon type system is Turing complete, in the
sense that it can run O(program size) iterations of any Turing machine.
(It can *not* run an arbitrary amount of iterations – type checking is
still decidable!)

For an explanation, see my [repository][], but note that the Turing
machine generated here is a bit different from the one explained there,
as I had to solve a few more problems to get it to work in the general
case. Most notably:

1. We now have two completely separate (although identical) stack
   interfaces (LeftSideStack, RightSideStack), because we need to be
   able to check both the left and right stack simultaneously and
   independently: When moving left, we need to check the right stack
   normally, and in addition the left stack to determine if we can move
   left or need to insert a blank character (LeftStack == LeftStackEnd).
2. We now have an explicit Blank symbol that can be added to the stack.
   The hand-written powerOfTwo Turing machine never needed this because
   it just moved away from the end of the tape when seeing it (peeking
   left in the “Rewind” state – cheating!), but in the general case we
   need it of course.

The generated names are also more verbose.

I plan to document the type system Turing machine in the package
documentation, and then point readers of [repository][] there, but
that’s not in this commit yet (that takes more time!).

repository: https://github.com/lucaswerkmeister/ceylon-typesystem-turing-complete
Test type system Turing machine

Tests the type system Turing from the previous commit with a Turing
machine that tests if the length of the input is a power of two. The
test involves typechecking the compilation unit and then checking if we
got exactly the expected error on the function that tested bad input.

Thanks @quintesse for helping me with the typechecker usage! This was a
lot harder than expected…