redesign, taking advantages of default type arguments
fix java impl
add new type param to Iterable (that hurt)
fix indexed
deprecations
put first/last back in Iterable
reimplement getFirst()/getLast()
update ceylon.language to use * instead of -- ceylon/ceylon-spec/#533
clean up min(), max() using new definition of Iterable
Merge branch 'master' of https://github.com/ceylon/ceylon.language into 533
Merge branch 'master' into defaulttypeargs

Conflicts:
	src/ceylon/language/Empty.ceylon
	src/ceylon/language/Exception.ceylon
	src/ceylon/language/Iterable.ceylon
Merge branch 'master' of https://github.com/ceylon/ceylon.language into
533

Conflicts:
	src/ceylon/language/Array.ceylon
	src/ceylon/language/Empty.ceylon
	src/ceylon/language/Exception.ceylon
	src/ceylon/language/Iterable.ceylon
	src/ceylon/language/String.ceylon
	src/ceylon/language/combine.ceylon
	src/ceylon/language/sort.ceylon
ups
Removed invalid imports from java impl files
TypeParameter: support defaulted type parameters ceylon/ceylon-compiler#951
Exception java impl: renamed c param to clause
Iterable java impl: made type param defaulted and set its bound
Deleted Java implementation of toplevel `combine()`
Merge branch 'master' of https://github.com/ceylon/ceylon.language into
533

Conflicts:
	runtime/ceylon/language/combine_.java
	src/ceylon/language/combine.ceylon
oopsy