WIP: Caching produced type and results of is
TypeDescriptor: Fix NPE
Delete SequenceAppender and move SequenceBuilder to com.redhat.ceylon.compiler.java.language.
AbstractIterable: Use Iterable's implementation of getSequence()
Allow String.join to take {Object*} #219

Changes the parameter of String.join from {String*} strings to
{Object*} objects.

Closes #219.
Add tests for #219 (String.join takes objects)

Mostly copied from the existing String.join tests, wrapping Iterables /
Sequences around the strings.
Now that SequenceBuilder isn't visible to ceylon it no longer needs metadata annotations
Rewrite Iterable.sequence to not use a SequenceBuilder, but instead a helper function.
Fix #459
Fixup to SequenceBuilder
fix tests to not use SequenceBuilder
AbstractArrayIterable and subclasses: Pass around the reified element, since using the type of the array is not sufficient.
Allow @FunctionalParameter to be applied to methods, in order to support better model loading of methods with multiple parameter lists (see ceylon/ceylon-compiler#1638)
Now that model loading of methods with multiple parameter lists results in the methods type being the eventual return type (rather than the type of the result after one invocation) we need to restore the higher-order-ness of the applied function's type. Do this by getting the full type and then getting the return type of that. (see ceylon/ceylon-compiler#1638)
test: We shouldn't care about the order of types in a union. I don't know why but this started failing for me
add todo
Metamodel: ignore missing optional modules for ceylon/ceylon-compiler#1523
FreeModule: avoid NPE for default and Java modules (who do not have a module_.class)
Metamodel: return null for non-available modules (for ceylon/ceylon-compiler#1523)
Metamodel: null-checking module util method used by the JVM compiler for ceylon/ceylon-compiler#1523