Clarify what the AST represents in module.ceylon

We only care about syntax, not semantics.

(The mentioned TypeList isn’t added yet, but it’s coming soon. I was
wondering whether I should add the descibed checks to it, and when I
came to realize why not, I felt like I should add that to the module
documentation.)
Define what we mean by “syntactically legal”

Because the compiler’s grammar allows, for example,

    [String*, String*]

so that it can give the meaningful error message “Variant element must
occur last in a tuple type” instead of the generic “Incorrect syntax: no
viable alternative at token …”.